« All Java trainings

Mastering Java 25 – All New Features Since Java 21

Duration: 2 days
Format: virtual or on-site

Overview

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.

Request in-house training »

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.

Course Details

Duration: 2 days
Date by arrangement
Exclusively for your team
Delivered on-site or online
Customizable content
Language: English or German
Certificate of completion included

Pricing

On-site:  € 4.360,–
plus trainer travel expenses
Virtual:  € 3.590,–
Prices exclude VAT and any customization fees.

Agenda

We won’t follow the listed order strictly. Instead, we’ll alternate between major features, smaller topics, and theory – keeping the course engaging and balanced, and helping you better retain the material.

Major Features:

  • Unnamed Variables & Patterns
  • Foreign Function & Memory API
  • Markdown Documentation Comments
  • Stream Gatherers
  • Synchronize Virtual Threads without Pinning
  • Scoped Values
  • Compact Source Files and Instance Main Methods

Other New Features:

  • Module Import Declarations
  • Launch multi-file source-code programs
  • Console methods with explicit Locale
  • Class-File API
  • Key Derivation Function API

API Enhancements:

  • Locale-dependent list patterns
  • Support for Duration until another Instant

Garbage Collection:

  • G1 GC improvements
  • ZGC: Generational mode by default

Performance / Memory Footprint:

  • Compact Object Headers
  • Ahead-of-Time Class Loading & Linking
  • Relax alignment of array elements
  • Change LockingMode default from LM_LEGACY to LM_LIGHTWEIGHT
  • Linking run-time images without JMODs

Deprecations & Removals:

  • Thread.countStackFrames()
  • Old core reflection implementation
  • Deprecations and removals in sun.misc.Unsafe
  • Thread.suspend(), resume() und ThreadGroup.suspend(), resume(), stop()
  • Security Manager

Looking Ahead:

  • Primitive Types in patterns, instanceof, and switch
  • Stable Values
  • Vector API
  • Structured Concurrency

Request In-House Training

Inquiry Training Specific Course (#31)

Your Trainer: Sven Woltmann

Sven Woltmann

I’m a Java expert with over 20 years of experience – as a developer, architect, CTO, performance coach, and trainer.

I’ve designed enterprise-scale systems for companies like 1&1, IONOS, and ICE Services, modernized legacy apps, and helped teams build robust, maintainable, and high-performance Java software.

With HappyCoders.eu, I’ve built one of the most widely read Java blogs in the German-speaking world. I speak at conferences and Java User Groups – and often receive praise for making complex technical topics easy to understand.

What you’ll get from my courses:

  • Extensive experience: Deep Java knowledge with real-world expertise
  • Practical focus: Plenty of hands-on exercises drawn from actual project work
  • Knowledge sharing: Space for your questions, discussions, and real-life challenges
  • Tailored to your team: Content can be flexibly adapted to your goals

I don’t just teach features – I show you how to develop better software with a deep understanding of Java.

More about me »

Format & Requirements

  • Learning method: Short theory blocks followed by immediate hands-on practice – with exercises, code examples, and real-world scenarios.
  • Materials: All course materials (slides and code) are provided at the beginning of the course.
  • Adaptability: I adjust the course pace to the group’s knowledge level when needed. In some cases, not all topics may be covered in full.
  • Technical requirements: Your own laptop or workstation with Java 21 (or later) and an IDE (I recommend IntelliJ IDEA).

Related Trainings