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


Java Text Blocks: Multiline Strings with Triple Quotes (JEP 378)
January 19, 2022Text blocks: multiline strings in Java without \n. How to write and indent them, and which two new escape sequences you get.
Java substring() Method: How to Use It and How It Works
January 17, 2022Java substring() with examples – from an index, to the end, from the end – and how the method works internally, from Java 1 to today.
Sealed Classes and Interfaces in Java
December 28, 2021Sealed classes and interfaces in Java: sealed, permits, and non-sealed – and how the compiler uses them to check switch exhaustiveness.
Java 17 Features (with Examples)
December 28, 2021Java 17 features (LTS) with examples: Sealed Classes, InstantSource, HexFormat, context-specific deserialization filters, and more.
Java Records: The Complete Guide (with Examples)
December 8, 2021What are Java records? Why do we need them? How do you implement and use them? And what about inheritance, reflection, and serialization?
Java 16 Features (with Examples)
December 8, 2021Java 16 Features with examples: Records, “Pattern Matching for instanceof”, Stream.toList(), jpackage, Strong Encapsulation, and more.
Java 15 Features (with Examples)
November 23, 2021All Java 15 features with examples: text blocks, String.formatted(), ZGC and Shenandoah production-ready, sealed classes in preview.
Java 14 Features (with Examples)
November 15, 2021All Java 14 features with examples: Switch Expressions (JEP 361), Helpful NullPointerExceptions, Records and Pattern Matching in preview.
Java 13 Features (with Examples)
November 8, 2021All new features of Java 13 with examples: Switch Expressions with yield, Text Blocks, Dynamic CDS Archives, Soft Max Heap Size, and more.
Java 12 Features (with Examples)
November 1, 2021All Java 12 features with examples: String.indent() and transform(), Files.mismatch(), Teeing Collector, Compact Number Format, Default CDS.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