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
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.
Detailed Java 12 guide: migration, versions; switch expressions, teeing collectors, indenting/transforming Strings (and more); default CDS, Shenandoah, G1.
The teeing collector, available since Java 12 as Collectors::teeing, forwards its input to two other collectors before merging their results with a function.
In my first live stream ever (yay!), we explored Java 12's API improvements
With Java 12,
switch is no longer just a statement, but becomes an expression. Let's take a look!