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. |