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


Java Stream Gatherers – Write Your Own Stream Operations!
December 6, 2023Stream Gatherers (JEP 485): the five built-in gatherers from windowFixed to mapConcurrent – and how to write your own stream operations.
Flexible Constructor Bodies (JEP 513): Code Before super() in Java 25
December 5, 2023Flexible Constructor Bodies (JEP 513): since Java 25, code can run before super(...) and this(...). Examples, restrictions, compiler errors.
String Templates in Java: What Happened to String Interpolation
December 5, 2023Java string templates (Java 21/22) were withdrawn: how interpolation with STR and FMT worked, why the design was pulled, what to use now.
Unnamed Variables & Patterns in Java (JEP 456)
December 4, 2023Since Java 22, you mark unused variables and patterns with the underscore (_): in catch blocks, lambdas, loops, switch. With all the rules.
Hexagonal Architecture With Quarkus [Tutorial]
October 30, 2023Hexagonal Architecture Tutorial, Part 4: We migrate the demo application to Quarkus with CDI and Panache – the application core stays as is.
Ports and Adapters Java Tutorial: Adding a JPA Database Adapter
October 4, 2023Part 3 of the hexagonal architecture series: we add a JPA adapter for MySQL to the application – ports and use cases stay unchanged.
Hexagonal Architecture in Java – A Hands-On Implementation Tutorial
July 4, 2023Tutorial: implement a Java application with hexagonal architecture – example project with Maven modules, ports, adapters, and ArchUnit.
Structured Concurrency in Java 27 with StructuredTaskScope
June 14, 2023Structured Concurrency in Java 27: how StructuredTaskScope forks subtasks, cancels them, and propagates errors – with a custom joiner.
Java 21 Features (with Examples)
June 8, 2023All Java 21 features with examples: virtual threads, sequenced collections, record patterns, pattern matching for switch, and more.
How to Change Java Versions in Windows (updated for Java 28)
March 21, 2023How to install multiple Java versions on Windows in parallel? How to change Java versions on the command line? (Up to JDK 28)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