
Become a Better Java Developer!
Modern Java: new versions & features, performance, and JVM insights – tutorials and deep dives, clearly explained and directly applicable.


Java 9 Features (with Examples)
September 18, 2026All Java 9 features with examples: module system, jshell, List.of(), private interface methods, Flow API, Stack-Walking API, Process API, and more.
Java 27 Features (with Examples)
June 3, 2026Java 27 explained – with code examples: Compact Object Headers by default, G1 everywhere, quantum-safe TLS, Lazy Sets and more.
Advent of Code 2025 – Java Solutions for All 12 Days, Explained
December 5, 2025All twelve Advent of Code 2025 puzzles solved in Java 25 – each with the algorithm explained, its time complexity, and the code on GitHub.
Java 26 Features (with Examples)
December 3, 2025Java 26 features (March 2026) with examples: HTTP/3, Lazy Constants, AOT caching with any GC, “final means final”, a faster G1, and more.
Withers in Java: Derived Record Creation Expressions (JEP 468)
September 3, 2025Withers (JEP 468) derive new Java records by specifying only the changed components – no wither methods, no boilerplate.
Java Modernization: How to Get Your Team and Management on Board
August 11, 2025How to get your team and management excited about Java modernization – with clear arguments, practical examples & quick wins for sustainable success.
Java 25 Features (with Examples)
June 5, 2025Java 25 (LTS): Scoped Values, Compact Source Files, Flexible Constructor Bodies, Compact Object Headers, and more – explained with examples.
Initialization-on-Demand Holder Idiom in Java (Holder Pattern)
May 8, 2025Thread-safe lazy initialization of static fields without synchronization: how the Initialization-on-Demand Holder Idiom works in Java.
Double-Checked Locking in Java: Why You Need volatile
May 8, 2025Double-Checked Locking in Java: why the original idiom is broken, why volatile fixes it – and when Lazy Constants are the better choice.
Lazy Constants in Java (Stable Values) – Safe and Lazy Initialization
April 9, 2025Lazy Constants in Java (formerly Stable Values) explained: initialize values thread-safely on first use – plus Lazy Lists, Sets, and Maps.Want Even More Knowledge?
My blog features many articles on Java, software architecture, and performance — from foundational concepts to advanced patterns.
If you want to go deeper, check out my trainings: hands-on, easy to understand, and directly applicable to your day-to-day project work. Instead of theory, I teach principles that help you write code that is better, more maintainable, and more performant in the long run.
Explore the Java Trainings