Java 14 - Overview

Java 14 is a major feature release and it has brought many JVM specific changes and language specific changes to JAVA. It followed the Java release cadence introduced Java 10 onwards and it was releasd on 17 Mar 2020, just six months after Java 13 release.

Java 14 is a non-LTS release.

New Features

Following are the major new features which are introduced in Java 14.

  • JEP 361 − Switch Expressions − Now a standard feature allowing switch to use return values via yield.

  • JEP 368 − Text Blocks − A second preview feature to handle multiline strings like JSON, XML easily.

  • JEP 305 − Pattern matching for instanceOf − instanceOf operator enhanced to carry a predicate.

  • JEP 358 − NullPointerException message − NullPointerException now can send detailed message.

  • JEP 359 − Records − A preview feature introducing a new type record.

  • JEP 343 − Packaging Tool − New packager based on javapackager introduced.

  • JEP 345 − NUMA aware G1 − G1 garbage collector is now NUMA aware.

  • JEP 349 − JFR Event Streaming − The package jdk.jfr.consumer, in module jdk.jfr, is enhanced to subscribe to events asynchronously.

  • JEP 352 − Non-Volatile Mapped Byte Buffers − New File mapping modes added to refer to Non-Volatile Memory, NVM.

  • JEP 363 − CMS Garbage Collector Removed − Concurrent Mark Sweep (CMS) Garbage Collector deprecated in Java 9 is removed.

  • JEP 347 − Pack200 Tools and API Removed − pack200 and unpack200 tools, and the Pack200 API from java.util.jar are removed.

  • JEP 370 − Foreign-Memory Access API − A new API to access foreign memory outside of heap space.

Java 14 enhanced numerous APIs with new methods and options. We'll see these changes in next chapters.