Java has moved fast since version 11, and this course is built for two kinds of developers: those still on Java 11 who need to catch up, and those already running Java 17 without fully understanding what changed under the hood.
Language changes covered
- More useful debugging info from NullPointerExceptions
- Switch expressions, text blocks, and pattern matching for instanceof
- Records and final sealed classes
Performance and tooling updates
- Disabled biased locking and the addition of value-based classes
- The newer ZGC and Shenandoah garbage collectors
- Enhanced pseudo-random number generators and deserialization filters
- Stricter JVM encapsulation and the deprecation of the legacy Security Manager
Rather than a beginner introduction, this is a targeted tour of what actually changed across Java 12 through 17.