Java 16 | Java 15 | Java 14 | Java 13 | Java 12 | Java 11 | Java 10 | Java 9 | Java 8
Java 14
Release notes | Specification | JEPs
JEP Name Category Summary
305 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 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 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 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.
364 ZGC on macOS (Experimental)
Garbage Collector
Port the ZGC garbage collector to macOS.
365 ZGC on Windows (Experimental)
Garbage Collector
Port the ZGC garbage collector to Windows.
367 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 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.
343 Packaging Tool (Incubator)
Tools
Create a tool for packaging self-contained Java applications.
363 Remove the Concurrent Mark Sweep (CMS) Garbage Collector
Pruning
Remove the Concurrent Mark Sweep (CMS) garbage collector.
366 Deprecate the ParallelScavenge + SerialOld GC Combination
Pruning
Deprecate the combination of the Parallel Scavenge and Serial Old garbage collection algorithms.
361 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 NUMA-Aware Memory Allocation for G1
Garbage Collector
Improve G1 performance on large machines by implementing NUMA-aware memory allocation.
358 Helpful NullPointerExceptions
Language
Improve the usability of NullPointerExceptions generated by the JVM by describing precisely which variable was null.
349 JFR Event Streaming
HotSpot
Expose JDK Flight Recorder data for continuous monitoring.
352 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.