Java 14

Release notes - Specification - JEPS

JEP Name Category Summary
364 JEP detail ZGC on macOS (Experimental)
Garbage Collector
Port the ZGC garbage collector to macOS.
365 JEP detail ZGC on Windows (Experimental)
Garbage Collector
Port the ZGC garbage collector to Windows.
367 JEP detail Remove the Pack200 Tools and API
Pruning
Remove the pack200 and unpack200 tools, and the Pack200 API in the java.util.jar package. These tools and API were deprecated for removal in Java SE 11 with the express intent to remove them in a future release.
362 JEP detail Deprecate the Solaris and SPARC Ports
Pruning
Deprecate the Solaris/SPARC, Solaris/x64, and Linux/SPARC ports, with the intent to remove them in a future release.
363 JEP detail Remove the Concurrent Mark Sweep (CMS) Garbage Collector
Pruning
Remove the Concurrent Mark Sweep (CMS) garbage collector.
366 JEP detail Deprecate the ParallelScavenge + SerialOld GC Combination
Pruning
Deprecate the combination of the Parallel Scavenge and Serial Old garbage collection algorithms.
361 JEP detail Switch Expressions
Language
Extend switch so it can be used as either a statement or an expression, and so that both forms can use either traditional case ... : labels (with fall through) or new case ... -> labels (with no fall through), with a further new statement for yielding a value from a switch expression. These changes will simplify everyday coding, and prepare the way for the use of pattern matching in switch. This was a preview language feature in JDK 12 and JDK 13.
345 JEP detail NUMA-Aware Memory Allocation for G1
Garbage Collector
Improve G1 performance on large machines by implementing NUMA-aware memory allocation.
358 JEP detail Helpful NullPointerExceptions
Language
Improve the usability of NullPointerExceptions generated by the JVM by describing precisely which variable was null.
349 JEP detail JFR Event Streaming
HotSpot
Expose JDK Flight Recorder data for continuous monitoring.
352 JEP detail Non-Volatile Mapped Byte Buffers
Core
Add new JDK-specific file mapping modes so that the FileChannel API can be used to create MappedByteBuffer instances that refer to non-volatile memory.

Preview only

JEP Name Category Summary
305 JEP detail Pattern Matching for instanceof (Preview)
Language
Enhance the Java programming language with pattern matching for the instanceof operator. Pattern matching allows common logic in a program, namely the conditional extraction of components from objects, to be expressed more concisely and safely. This is a preview language feature in JDK 14.
359 JEP detail Records (Preview)
Language
Enhance the Java programming language with records. Records provide a compact syntax for declaring classes which are transparent holders for shallowly immutable data. This is a preview language feature in JDK 14.
368 JEP detail Text Blocks (Second Preview)
Language
Add text blocks to the Java language. A text block is a multi-line string literal that avoids the need for most escape sequences, automatically formats the string in a predictable way, and gives the developer control over the format when desired. This is a preview language feature in JDK 14.
370 JEP detail Foreign-Memory Access API (Incubator)
Tools
Introduce an API to allow Java programs to safely and efficiently access foreign memory outside of the Java heap.
343 JEP detail Packaging Tool (Incubator)
Tools
Create a tool for packaging self-contained Java applications.