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’s module system requires good and consistent support by libraries, frameworks, and tools. This maturity model classifies a project’s support for the JPMS.
How to use –enable-preview (plus –source or –release during compilation) to experiment with Java’s preview features like switch expressions and text blocks
Java 13 introduces text blocks: string literals that span multiple lines. Here’s all you need to know about syntax, indentation, escape sequences, formatting, and more.
The JDK contains immutable collections, but no type `ImmutableCollection`. I explain why and claim that that’s never gonna change.
During a week of turmoil, many people have written about Jakarta EE and javax. This post summarizes the community’s opinions and gives you plenty of links to follow up.
A detailed guide to Java 12: migration, version requirements, new features (switch expressions, teeing collectors, indenting/transforming Strings, and more), and JVM changes (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.
Think Java 11 is just a maintenance release? Think again! Here are eleven small but shiny additions to classes like String, Path, Files, Collection, Optional, and others that make coding a little more elegant.