Skip to content

Java 17 Training: Records, Sealed Classes & All New Features Since Java 11

Java 17 has been in production since October 2021 – and many teams still aren’t using the new features. Records, Sealed Classes, Pattern Matching: these language features make code easier to understand and maintain.

In two days, this course brings your team up to the level Java 17 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 and master all major new features introduced in Java versions 12 through 17 – in-depth, easy to understand, and with a strong focus on real-world projects.

We’ll explore how modern language features like Records, Switch Expressions, and Pattern Matching make your code more elegant and maintainable. You’ll learn how Text Blocks simplify working with multi-line strings – and how numerous smaller enhancements to the standard API can save you time.

You’ll also get an overview of the new garbage collectors – and how the existing ones have been improved.

You’ll also learn what to watch out for when upgrading to Java 17 – in particular, why Strongly Encapsulate JDK Internals becomes a stumbling block for many teams and how to solve it with confidence.

With hands-on exercises – often based on real project scenarios – you’ll immediately apply what you’ve learned and reinforce your understanding.

At the end of the course, you’ll also get a preview of upcoming features – for example, Pattern Matching for switch, introduced as a preview in Java 17.

You’ll find a complete overview of all new features in the Java 17 features article.

Target audience

This course is designed for Java developers who want to stay up to date – practical, hands-on, and full of “aha” moments. Ideally, participants should have at least two years of professional Java experience.

The course is also ideal for teams already using Java 17 who want to deepen or refresh their knowledge.

For engineering leads and teams who want to upgrade to Java 17 or get their team ready for the next LTS version, this course is the right starting point.

If you want to catch up on Java 17 and 21 in one go, the combined Java 17 + 21 course is the right choice – or cover all three LTS versions in the combined Java 17 + 21 + 25 course.

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:

  • switch Expressions
  • Text Blocks
  • Records
  • Pattern Matching for instanceof
  • Sealed Classes
  • Strongly Encapsulate JDK Internals

Additional Enhancements:

  • Helpful NullPointerExceptions
  • Hidden Classes
  • Warnings for value-based classes
  • Context-specific deserialization filters

API Improvements:

  • New String methods
  • New Stream methods
  • New Files methods
  • New ByteBuffer methods
  • The Teeing collector
  • Hex formatting and parsing utility

Garbage Collection:

  • Improvements to G1 and Parallel GC
  • New: ZGC and Shenandoah
  • Elastic Metaspace

Performance:

  • Default and dynamic CDS archives
  • Non-volatile mapped byte buffers
  • Specialized TreeMap implementations
  • Decoupling of Compressed Oops and Compressed Class Pointers

Tools:

  • JFR event streaming
  • Packaging tool

Deprecations:

  • Thread suspend(), resume()
  • ThreadGroup stop(), destroy(), isDestroyed(), setDaemon(), and isDaemon()
  • Biased locking
  • And more…

Looking Ahead:

  • Pattern Matching for switch
  • Foreign Function & Memory API
  • Vector API

Exactly what you’ve been looking for 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, and speaker – and have helped teams modernize complex Java systems and make them more performant.

With HappyCoders.eu, I’ve built one of the most widely read Java blogs in the German-speaking world.

My articles on Java upgrades in Java Magazin and my talks, e.g. at JavaLand, show: I know the pitfalls from practice – not just in theory.

My goal: to make complex topics 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 11. If you’ve worked with Java 8, 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 17 – I use IntelliJ IDEA myself. Java 17 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