Definitive Guide To Java 13

A detailed guide to Java 13: text blocks, switch expressions with yield, ZGC, dynamic AppCDS archives
Posts about concepts of the Java programming language. This does not include posts which merely employ Java to talk about something else.
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’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.
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.