Java 15

Release notes - Specification - JEPS

JEP Name Category Summary
378 JEP detail Text Blocks
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.
385 JEP detail Deprecate RMI Activation for Removal
Pruning
Deprecate the RMI Activation mechanism for future removal. RMI Activation is an obsolete part of RMI that has been optional since Java 8. No other part of RMI will be deprecated.
377 JEP detail ZGC: A Scalable Low-Latency Garbage Collector (Production)
Garbage Collector
Change the Z Garbage Collector from an experimental feature into a product feature.
339 JEP detail Edwards-Curve Digital Signature Algorithm (EdDSA)
Security
Implement cryptographic signatures using the Edwards-Curve Digital Signature Algorithm (EdDSA) as described by RFC 8032.
372 JEP detail Remove the Nashorn JavaScript Engine
Pruning
Remove the Nashorn JavaScript script engine and APIs, and the jjs tool. The engine, the APIs, and the tool were deprecated for removal in Java 11 with the express intent to remove them in a future release.
371 JEP detail Hidden Classes
Core
Introduce hidden classes, which are classes that cannot be used directly by the bytecode of other classes. Hidden classes are intended for use by frameworks that generate classes at run time and use them indirectly, via reflection. A hidden class may be defined as a member of an access control nest, and may be unloaded independently of other classes.
373 JEP detail Reimplement the Legacy DatagramSocket API
Core
Replace the underlying implementations of the java.net.DatagramSocket and java.net.MulticastSocket APIs with simpler and more modern implementations that are easy to maintain and debug. The new implementations will be easy to adapt to work with virtual threads, currently being explored in Project Loom. This is a follow-on to JEP 353, which already reimplemented the legacy Socket API.
374 JEP detail Disable and Deprecate Biased Locking
HotSpot
Disable biased locking by default, and deprecate all related command-line options.
379 JEP detail Shenandoah: A Low-Pause-Time Garbage Collector (Production)
Garbage Collector
Change the Shenandoah garbage collector from an experimental feature into a product feature.
381 JEP detail Remove the Solaris and SPARC Ports
Pruning
Remove the source code and build support for the Solaris/SPARC, Solaris/x64, and Linux/SPARC ports. These ports were deprecated for removal in JDK 14 with the express intent to remove them in a future release.

Preview only

JEP Name Category Summary
360 JEP detail Sealed Classes (Preview)
Language
Enhance the Java programming language with sealed classes and interfaces. Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them.
383 JEP detail Foreign-Memory Access API (Second Incubator)
Tools
Introduce an API to allow Java programs to safely and efficiently access foreign memory outside of the Java heap.
384 JEP detail Records (Second Preview)
Language
Enhance the Java programming language with records, which are classes that act as transparent carriers for immutable data. Records can be thought of as nominal tuples.
375 JEP detail Pattern Matching for instanceof (Second 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 15.