« All Java trainings

Mastering Java 17 – All New Features Since Java 11

Duration: 2 days
Format: virtual or on-site

Overview

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.

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.

Request in-house training »

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.

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:
  • 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 ByteByffer 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

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 17 (or later) and an IDE (I recommend IntelliJ IDEA).

Related Trainings