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


Java Parallel Streams (with Examples)
October 9, 2026Java parallel streams explained: how the ForkJoinPool splits the work, measured limits of parallel(), and the rules for correct results.
Java Collectors.toMap() (with Examples)
October 4, 2026Java Collectors.toMap() explained: collecting a stream into a map, resolving duplicate keys with a merge function, map type, null values.
Java Stream reduce() (with Examples)
October 2, 2026Java Stream reduce() explained: the three variants, identity and combiner, parallel streams, and when to use collect() instead.
Java Functional Interfaces (with Examples)
September 28, 2026Java functional interfaces explained from the ground up: the rule, @FunctionalInterface, all 43 interfaces in java.util.function, and when to write your own.
Java Optional (with Examples)
September 25, 2026Java Optional explained with examples: of() and ofNullable(), orElse() vs. orElseGet(), map() and flatMap(), when to use Optional, and what Valhalla changes.
Java Lambda Expressions (with Examples)
September 23, 2026Java lambda expressions explained from the ground up: syntax, target types, effectively final, method references, and how the JVM runs them.
Java Streams (with Examples)
September 20, 2026Java Streams explained from the ground up: how a pipeline works, every operation with an example, lazy evaluation, and the mistakes to avoid.
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 4, 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.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