Become a Better Programmer!

Sven Woltmann
Receive regular tips about Java programming, algorithms and data structures!
Unsubscribe whenever you want. Read my Privacy Policy.
Bubble Sort - feature image Bubble Sort – Algorithm, Source Code, Time Complexity

In this article, I describe how Bubble Sort works, introduce the source code, and explain how to derive its time complexity.

Read more »
Selection Sort - feature image Selection Sort – Algorithm, Source Code, Time Complexity

In this article, I describe how Selection Sort works, show its source code, and explain its derivation of time complexity.

Read more »
Insertion Sort - feature image Insertion Sort - Algorithm, Source Code, Time Complexity

This article describes how Insertion Sort works, shows an implementation in Java and explains the time complexity.

Read more »
Sorting in Java Tutorial - feature image Sorting in Java [Tutorial]

This tutorial explains – step by step and with many code examples – how to sort primitive data types (ints, longs, doubles, etc.) and objects of any class in Java.

Read more »
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 »
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 »