Oracle has released version 14 of the Java programming language and virtual machine.
The overall feature set is the same as that reported in December 2019, when the project entered rampdown.
Of particular note is the arrival in Preview of a major language feature - Records. InfoQ previously featured an in-depth look at Records from Brian Goetz.
As well as records, Java 14 also contains some first steps towards pattern matching - which is intended to become a major feature over time.
These first steps consist of the first example of a pattern (essentially a predicate combined with a variable binding) - the instanceof pattern.
Alongside this, the standardized version of Java switch expressions was also delivered. These features are expected to be built upon in future Java releases, and are being co-ordinated within OpenJDK by Project Amber.
One other feature that may prove to gain significant traction is JFR Event Streaming - which extends the Java Flight Recorder technology with a callback based mechanism. This feature opens the door for monitoring and observability tools to easily collect JFR data from entire clusters of JVMs, rather than having to deal with the limitations of JFR's existing approach of using single file per JVM recording.
Java 14 also brings a number of internal changes (such as a NUMA-aware G1), deprecations (Solaris port) and removals (CMS) as part of the release.
It should be noted that Java 14 is not a long-term support release, so it remains to be seen the extent to which developers will adopt this new version.
In a recent study by New Relic the data indicates that very few companies are using non-LTS versions of Java - which raises the question: Is Java 14 going to be the version that breaks the pattern?
Java 14 is available for download from Oracle now and will be available from other vendors, including AdoptOpenJDK, soon.