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.