JDK 15 is live! Download it from the Java SE Downloads page. See the JDK 15 Release Notes for detailed information about this release. The following are some of the important additions and updates in Java SE 15 and JDK 15:
Text Blocks, first previewed in Java SE 13, is a permanent feature in this release and can be used without enabling preview features.
Text blocks are multiline string literals that avoid the need for most escape sequences, automatically format the string in a predictable way, and give the developer control over the format when desired. See JEP 378: Text Blocks and Programmer's Guide to Text Blocks.
The Z Garbage Collector (ZGC) is ready to use in production and no longer an experimental feature. Enable ZGC by using the command-line option -XX:+UseZGC. See JEP 377: ZGC: A Scalable Low-Latency Garbage Collector (Production).
Hidden classes 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 through reflection. See JEP 371: Hidden Classes.
The following are preview or incubator JDK 15 features:
Sealed Classes is a Java language preview feature. Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them. See JEP 360: Sealed Classes (Preview) and Sealed Classes.
Pattern Matching for instanceof, a preview feature from Java SE 14, is re-previewed for this release. This feature allows common logic in a program, namely the conditional extraction of components from objects, to be expressed more concisely and safely. See JEP 375: Pattern Matching for instanceof (Second Preview) and Pattern Matching for the instanceof Operator.
Records, a preview feature from Java SE 14, is re-previewed for this release. Records are classes that act as transparent carriers for immutable data. See JEP 384: Records (Second Preview) and Record Classes.
The Foreign Memory Access API allows Java programs to efficiently and safely access foreign memory outside of the Java heap. See JEP 383: Foreign-Memory Access API (Second Incubator).
In addition, the following are security-related updates:
A new signature scheme Edwards-Curve Digital Signature Algorithm (EdDSA) is implemented, which is a modern elliptic curve signature scheme that has several advantages over the existing signature schemes in the JDK. This new signature scheme does not replace ECDSA. See JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA) and the section The SunEC Provider.
The SunJCE provider now supports SHA-3 based Hmac algorithms. See the section The SunJCE Provider.
New system properties are available to configure TLS signature schemes, jdk.tls.client.SignatureSchemes and jdk.tls.server.SignatureSchemes. See the section Specifying Default Enabled Cipher Suites.
Applications can enable the certificate_authorities extension by setting the jdk.tls.client.enableCAExtension system property to true. See the section Enabling certificate_authorities Extension for Server Certificate Selection.
See Significant Changes in JDK 15 Release for additional information.