Skip to content

Java 21 Training: Virtual Threads, Pattern Matching & All New Features Since Java 17

Many teams aren’t yet making targeted use of Virtual Threads, Record Patterns, and the new collections APIs – even though these features noticeably simplify code and improve the performance of modern applications.

In two days, this course brings your team up to the level Java 21 makes possible – clearly explained and immediately applicable.

Request now – no obligation
2 days
Individual date
On-site or online
German / English
Customizable content
Certificate of completion

What you’ll learn in this training

In this two-day course, you’ll learn all the essential new features introduced in Java versions 18 through 21 – compact, hands-on, and clearly explained.

We focus on modern language features like Record Patterns, Pattern Matching for switch, and the new Sequenced Collections API. You’ll see how these features help make your code cleaner, more expressive, and easier to maintain.

We’ll also explore numerous standard API improvements, garbage collection optimizations, and under-the-hood performance enhancements – all of which can provide real benefits in your day-to-day work.

Through hands-on exercises based on real-world project scenarios, you’ll apply what you’ve learned immediately and internalize it for the long term.

To wrap up, we’ll look at what’s ahead: Structured Concurrency, Scoped Values, and the Foreign Function & Memory API are still preview features in Java 21 – but they already hint at where Java is heading.

After the training, your developers will be able to use Java 21 features right away in their day-to-day work – and gradually make existing code more readable, expressive, and maintainable.

You’ll find a complete overview of all Java 21 features in my Java 21 features article.

Target audience

This course is for Java developers who want to stay up to date or deepen their knowledge of Java 21 – clear, hands-on, and packed with aha moments.

Whether you’re planning a migration to Java 21 or already have some experience with it, you’ll learn how to effectively leverage the new language features, API enhancements, and performance improvements in your everyday work.

The course is also ideal for teams already using Java 21 in production and looking to dive deeper into specific features or best practices.

If you want to take the step to Java 25 right away, the combined Java 21 + 25 course is a great choice.

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:

  • Virtual Threads
  • Sequenced Collections
  • Record Patterns
  • Pattern Matching for switch

Additional Features:

  • UTF-8 by default
  • Simple web server
  • Code snippets in Java API documentation
  • New system properties for System.out and System.err encoding
  • Compiler warnings for lossy type casts
  • Key Encapsulation Mechanism API

Bugfixes:

  • IdentityHashMap’s remove() and replace() methods use object identity

API Enhancements:

  • New methods for String, StringBuilder, and StringBuffer
  • New methods for Character
  • New methods for Math
  • HashMap.newHashMap()
  • Additional date-time formats

Garbage Collection:

  • String deduplication for ZGC, SerialGC, ParallelGC
  • G1 enhancements
  • Generational ZGC

Performance:

  • Generational ZGC
  • Alternative fast-locking scheme

Deprecations & Removals:

  • Deprecate finalization for removal
  • Locale constructors
  • URL constructors
  • Thread.stop(), suspend(), resume()
  • ThreadGroup
  • Dynamic loading of agents

Looking Ahead:

  • Structured Concurrency
  • Scoped Values
  • Vector API
  • Foreign Function & Memory API
  • Unnamed Patterns and Variables
  • Compact Classes and Instance Main Methods

Sounds like the next step for your team?

Request now – no obligation

Why learn with me?

I’ve been working with Java for over 20 years – as a developer, CTO, trainer, author, and speaker – and have helped companies modernize complex Java systems and develop their teams sustainably.

With HappyCoders.eu, I’ve built one of the most widely read Java blogs in the German-speaking world, and I regularly speak at conferences and user groups.

I know this training’s core topics inside out: I’ve covered virtual threads in depth on HappyCoders and Pattern Matching for switch in JavaMagazin.

My goal: to teach complex topics in a way that is understandable, practical, and immediately applicable.

Rated 4.97 out of 5 on ProvenExpert

More about me

Any questions?

Participation & Booking

Can individuals book this training?

This training can only be booked for teams. If you’d like to attend as an individual, I offer two courses (in German) through ppedv:

How many participants are possible?

I recommend a maximum of 12 participants per training – that way I can give everyone individual attention. There is no minimum: I charge per training, not per person.

How does booking work?

The easiest way is the request form or an email to schulung@happycoders.eu. Right after submitting, you can book a video call via Calendly, where we discuss the details. You’ll then receive a concrete offer from me.

Prerequisites

What prior Java experience is required?

Ideally, you’re familiar with Java 17. If you’ve worked with Java 11, you’ll be fine too – the most important differences are put into context during the course. In general, I recommend at least two years of practical Java experience.

What technical requirements do we need?

All participants need an up-to-date IDE with at least Java 21 – I use IntelliJ IDEA myself. Java 21 or later should also be installed in the terminal, as we’ll run some of the exercises there.

Schedule & Content

What does a training day look like?

Each day has six hours of net training time – usually with two short breaks and a longer lunch break in between. We align the exact schedule with your working hours – that’s flexible.

How much time is theory, how much is practice?

About half theory, half practice: a short theory phase is followed directly by applying it to code – with examples from real projects. Listening alone doesn’t help much; the knowledge has to be used immediately for it to stick.

Can we adjust or prioritize individual agenda topics?

Yes, that’s no problem. Dropping topics or weighting them differently – as long as I don’t have to restructure the training materials, there are no extra costs.

If you need more extensive changes – for example, combining content from different courses or adding entirely new topics – I’ll be happy to prepare an individual offer.

What exactly does “customizable content” mean?

Within the existing agenda, the weighting can be adjusted: shortening topics, setting priorities, changing the order. That’s free of charge.

Beyond that, more far-reaching adjustments are possible – such as combining content from different courses or completely new topic blocks. This involves extra effort, so I’ll prepare an individual offer for it.

Format & Materials

Which platform do we use for virtual training?

We usually use Zoom. If you prefer your own platform – for example, Microsoft Teams or Google Meet – I’m happy to work with that. Just let me know in advance.

Do participants receive materials to keep?

Yes. Before the training, you’ll receive the exercises as a Git repository so you can get started right away. After the training, you’ll also receive the slides – including all solutions to the exercises.

Prices & Costs

What do the travel expenses include?

Travel expenses are charged as a flat rate – depending on the training location and the number of overnight stays required. The exact amount is part of the individual offer I’ll send you.

Are there discounts for booking multiple trainings?

Yes. For multiple booked trainings or follow-up bookings, I can offer a volume discount. We’ll discuss this in the video call, and I’ll include it in the offer.

Is this a good fit for your team?

Just write to me – I usually reply within 24 hours.
Or book a free video call right away, and we’ll discuss everything important.

Request now – no obligation