What you’ll learn in this training
In this two-day course, you’ll learn all the key enhancements introduced in Java versions 22 through 25 – compact, in-depth, and focused on practical use in real-world projects.
We’ll take a close look at modern language features like Unnamed Variables & Patterns, which improve code readability, and the new Foreign Function & Memory API, enabling secure and efficient access to native libraries. You’ll discover how to use Scoped Values for thread-safe context propagation and how Markdown Documentation Comments help you write more structured, readable documentation.
One of the highlights is the new Stream Gatherers API, which significantly simplifies complex stream aggregations. You’ll also learn how Compact Source Files and the new Instance Main Method make it easier to start new projects quickly.
Of course, we’ll also cover numerous API enhancements and important under-the-hood performance improvements, including how to synchronize virtual threads without pinning – a major step toward building highly scalable applications.
In hands-on exercises, you’ll directly apply the new features and gain a deep understanding of how to use them effectively in your projects.
At the end of the course, you’ll get a preview of what’s coming next – including Primitive Types in Patterns, instanceof, and switch, Stable Values, the Vector API, and a redesigned Structured Concurrency API.
You’ll find a complete overview of all features in my Java 25 features article.
Target audience
This course is designed for Java developers who want to stay ahead of the curve – with a clear, practical, and well-structured approach.
Whether you’re upgrading from Java 17 or already working with Java 21 or later and want to systematically explore the features up to Java 25 – this course provides the knowledge you need to future-proof your project.
If you want to tackle Java 21 and 25 together, you’ll find the right combined course here.