Become a Better Programmer!

Sven Woltmann
Receive regular tips about Java programming, algorithms and data structures!
Unsubscribe whenever you want. Read my Privacy Policy.
Sorting Algorithms: Ultimate Guide - feature image Sorting Algorithms [Ultimate Guide]

If you need a refresher on how the most common sorting algorithms work and how they differ, this series is for you.

Read more »
Big O notation and time complexity – easily explained – feature image-o-notation-time-complexity-easily-explained Big O Notation and Time Complexity – Easily Explained

In this article, I will explain the big O notation (and the time and space complexity described with it) only using examples and diagrams – and entirely without mathematical formulas, proofs and symbols like θ, Ω, ω, ∈, ∀, ∃ and ε.

Read more »
Best books for programmers - feature image The best books for programmers (updated 2020)

In this article, I have compiled a list of the best books for programmers.

The books cover programming in general (hard skills and soft skills) and Java programming in particular.

Read more »
Queue, Deque and Stack in Java Ultimate Guide - feature image Java Queue, Deque, and Stack: Ultimate Guide

This article explains the basic functionality of the abstract data type queue, deque, and stack, and gives a detailed overview of all implementations available in the JDK.

Numerous code examples should make it easier for you to understand.

Read more »
Java - How to Hack Integer and String With Deep Reflection - feature image Deep Reflection: How to Hack Integer and String

Can 2+3 = 6?

In this article, I show you how Deep Reflection can be used to change the values of Integers and Strings at runtime.

Read more »
ByteBuffer How to use flip() and compact() - Feature image Java ByteBuffer: How to use flip() and compact()

In this article, I show you (using an example) how the Java ByteBuffer works, and what precisely the Methoden flip() and compact() do.

Read more »
FileChannel, ByteBuffer, Memory-mapped I/O, Locks - Feature image Java files, part 6: FileChannel, ByteBuffer, Memory-mapped I/O, Locks

In this article, I explain the NIO classes FileChannel and ByteBuffer introduced in Java 1.4.

Moreover, I show what possibilities they provide to read and write files and what their advantages are – compared to the methods discussed before.

Read more »
Writing and reading structured data - feature image Java files, part 5: Writing and reading structured data: DataOutputStream, DataInputStream

In this fifth part of the series, you will learn how to write and read structured data with DataOutputStream, DataInputStream, ObjectOutputStream, and ObjectInputStream.

Read more »
Listing directory contents, moving, copying, deleting files - feature image Java files, part 4: Listing directory contents / Moving, copying, deleting files

This fourth part of the series describes the most important directory and file operations.

You will learn how to list files in a directory, how to search for files, how to move, rename, and copy files, and much more.

Read more »
Java files - constructing file and directory names with File, Path, Paths - Feature image Java files, part 3: Constructing file and directory names (with File, Path, and Paths)

This third part of the series of articles shows how to use the classes File, Path, and Paths to construct file and directory paths – regardless of the operating system.

Read more »