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


Java 22 Features (with Examples)
December 7, 2023Java 22 features with examples: Foreign Function & Memory API, unnamed variables & patterns, multi-file programs, Stream Gatherers + more.
Java FFM API (JEP 454): Foreign Function & Memory API Tutorial
December 6, 2023Learn how to use the FFM API (Project Panama) to call native libraries from Java and access native memory – without JNI.
Java Stream Gatherers – Write Your Own Stream Operations!
December 5, 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.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