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.
A live-coding talk where I show off all you need to know about
var in Java. And then some.
A 1 to 2-day course on Java 9 to 11: From new language features, APIs, and JVM capabilities to migration challenges, JDK distributions, and the 6-month release cycle
In Java 10, 'var' makes it is possible to ad-hoc combine traits into an instance that matches your exact requirements. Alas, it has some downsides.
varand anonymous classes (that you should never use at work)#post
Local-variable type inference with
var makes it easier to work with anonymous classes, e.g. for ad-hoc fields and methods. Don't do it, though!
Java 10's 'var' makes intersection types in Java more approachable. Generics tricks are still needed, but 'var' makes it easy to declare such variables.
Java 10 introduces the var keyword, which lets the compiler infer local variable types. Here's how var works, why it exists, how it impacts readability.
varin Java 10#video
How to use
var, where it works and where it doesn't (and why), and how it might impact readability