A 1-day course on Java 12 to 15, focusing on new language features, updated APIs, and new JVM capabilities, spiced with a brief discussion of the 6-month release cycle, JDK distributions, and upcoming developments
A live-coding talk during which I update a Java 8 code base to Java 15, making good use of new language features, additional and improved APIs, and JVM capabilities
A detailed guide to Java 13: text blocks, switch expressions with yield, ZGC, dynamic AppCDS archives
On Java 10+, you can use application class-data sharing to reduce launch times, response time outliers, and memory footprint. By archiving class data with -Xshare:dump and loading it with -Xshare:on, the JVM's class loading workload can be reduced considerably.
Java 12 introduces switch expressions. Together with a new lambda-style arrow syntax, this makes switch more expressive and less error-prone.
Java 13 introduces text blocks: string literals that span multiple lines. Learn about syntax, indentation, escape sequences, and formatting.