What you’ll learn in this training
In this 4-day intensive training, you’ll explore the key innovations from Java 18 through 25 – compactly presented, clearly explained, and focused on practical value in everyday development.
In the first part (Java 18–21), the focus is on the features that shape modern Java applications: Virtual Threads fundamentally simplify highly scalable applications and allow blocking I/O without the traditional overhead. Record Patterns and Pattern Matching for switch make complex logic more concise and easier to express, and the Sequenced Collections API noticeably simplifies working with ordered data structures. You’ll also cover practical API enhancements (e.g., in String, Character, and Math), the Simple Web Server API, new factory methods like HashMap.newHashMap(), improvements in Garbage Collection (such as Generational ZGC), lower-level performance optimizations, and the experimental alternative locking mechanism.
In the second part (Java 22–25), you’ll dive into the innovations that make Java future-proof and easier to maintain: Unnamed Variables & Patterns reduce boilerplate code without losing information. The Stream Gatherers API significantly simplifies complex stream aggregations. Scoped Values let you pass context information thread-safely and efficiently – and the Foreign Function & Memory API offers a stable, secure way to access native libraries without the detours of earlier approaches. Other topics include Markdown Documentation Comments, Compact Source Files, the Instance Main Method, and performance upgrades like Compact Object Headers and Ahead-of-Time Class Loading.
The training is structured to be interactive and hands-on: short theory phases are followed directly by applying what you’ve learned to code – with examples from real projects. You’ll work together on concrete scenarios, discuss solutions, and anchor the knowledge sustainably within your team.
With plenty of hands-on exercises inspired by real projects, you’ll learn how to apply new features directly and effectively in your daily work.
We wrap up with a look ahead to innovations such as Primitive Types in Patterns, Lazy Constants (formerly Stable Values), a refined Structured Concurrency API, and the evolution of the Vector API.
For a complete overview of all features, see my Java 21 features article and the Java 25 features article.
Target audience
This course is for Java developers who want to deepen their knowledge of Java 21 and 25 – structured, clear, and highly practical.
Whether you’re transitioning to Java 21 or 25 or already working with one of them: You’ll learn how to leverage modern language features, new APIs, and performance improvements efficiently.
It’s also ideal for teams already using Java 21 who want to systematically upgrade to Java 25.