Mastering Java 17
Language enhancements and other features of Java 17
Oracle produces a new "feature release" of Java every six month. Teams that do not move forward with this rapid pace, run the risk of having to work with outdated technology, and are often forced to code around shortcomings that have already been solved in more modern Java.
In this course, we teach the most important new features of Java 12, 13, 14, 15, 16, and 17. It is ideal for programmers who are currently programming Java 11, and who need to upgrade their systems, or even programmers that are using Java 17, but feel that they have not understood all the intricacies of the new versions.
We begin with language improvements, exploring how NullPointerExceptions now present us with helpful debugging information, then looking at the new features of switch expressions, text blocks, pattern matching for instanceof, records, and finally, sealed classes.
Next we investigate the performance improvements in Java 17, looking at why biased locking was disabled by default, what a value-based class is, and the two new garbage collectors: ZGC and Shenandoah.
In our last section, we look at the tools and API improvements in Java 17, such as the enhanced pseudo-random number generators, the context specific deserialization filters, and how the JVM is becoming more secure through stronger encapsulation and by deprecating the insecure security manager.
During the training, we will always get a chance to try out what we have learned in carefully thought out exercises. This will help us understand and quickly internalize what we have just learned.
Your Instructor
Heinz Kabutz is the author of The Java Specialists’ Newsletter, a publication enjoyed by tens of thousands of Java experts in over 150 countries. He has been a Java Champion since 2005.
Course Curriculum
-
Start1.0. Language Improvements (2:20)
-
Start1.1. JEP 358 - Helpful NullPointerExceptions (37:40)
-
Start1.1.1. JEP 358 Exercise Walkthrough (10:57)
-
Start1.2. JEP 361 - Switch Expressions (20:00)
-
Start1.2.1. JEP 361 Exercise Walkthrough (14:16)
-
Start1.3. JEP 378 - Text Blocks (16:15)
-
Start1.3.1. JEP 378 Exercise Walkthrough (9:47)
-
Start1.4. JEP 394 - Pattern Matching for instanceof (8:14)
-
Start1.4.1. JEP 394 Exercise Walkthrough (17:17)
-
Start1.5. JEP 395 - Records (43:07)
-
Start1.5.1. JEP 395 Exercise Walkthrough (13:31)
-
Start1.6. JEP 409 - Sealed Classes (30:49)
-
Start1.6.1. JEP 409 Exercise Walkthrough (10:03)
-
Start2.0. Performance Improvements (2:20)
-
Start2.1. JEP 374 - Deprecate and Disable Biased Locking (21:40)
-
Start2.1.1. JEP 374 Exercise Walkthrough (18:03)
-
Start2.3. JEP 379 - Shenandoah - A Low-Pause-Time Garbage Collector (50:31)
-
Start2.3.1. JEP 379 Exercise Walkthrough (6:02)
-
Start2.2. JEP 377 - ZGC - A Scalable Low-Latency Garbage Collector (16:08)
-
Start2.2.1. JEP377 Exercise Walkthrough (14:30)