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


JDK Mission Control (JMC): Analyzing JFR Recordings
November 2, 2026JDK Mission Control in practice: open a JFR recording, read the Automated Analysis, and find hotspots, locks, and memory leaks.
Java Flight Recorder (JFR): Record, Open, Analyze
October 31, 2026Java Flight Recorder in practice: start a recording, set up the ring buffer, and find CPU load, locks, and memory leaks with jfr view.
2D Arrays in Java: Declare, Initialize, Iterate, Print
October 28, 20262D arrays in Java: declare, initialize, iterate, print, copy, and sort them – including jagged arrays and benchmark results.
List Directory Contents in Java: Files.list(), walk(), walkFileTree(), find()
October 27, 2026List files in a directory in Java and search it recursively: Files.list(), walk(), walkFileTree(), find() – and AccessDeniedException.
Java PrintWriter: println(), printf(), and Writing Text to Files
October 25, 2026Java PrintWriter explained: write text to files with println() and printf(), constructors, autoFlush, checkError(), performance.
Pattern Matching in Java: instanceof, switch, and Record Patterns
October 22, 2026Java pattern matching explained: instanceof without a cast, switch with type patterns, when and case null, record patterns, sealed classes.
JEP 500: Final Means Final – Deep Reflection in Java 26
October 20, 2026A harmless dependency overwrites a final field via deep reflection. What JEP 500 does about it from Java 26 on – and what you should do.
Ring Buffer (Circular Buffer): How It Works and Where Java Uses It
October 18, 2026Ring buffer explained: two indices, wrap-around, full vs. empty – and where Java uses it: ArrayDeque, ArrayBlockingQueue, LMAX Disruptor.
Java BufferedReader: readLine(), lines(), and Reading Line by Line
October 17, 2026Java BufferedReader explained: read files line by line with readLine() and lines(), character encoding, console input, performance, Scanner.
Serialization in Java: Serializable, transient, serialVersionUID
October 15, 2026Java serialization explained: Serializable, ObjectOutputStream, transient, serialVersionUID, records, and deserialization filters.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