Oracle announced the general availability of Java 15 (Oracle JDK 15). After 25 years of innovation, Java continues to be the #1 programming language, used by over 69 percent of full-time developers worldwide. The latest Java Development Kit (JDK) delivers new functionality, including Edwards-Curve Digital Signature Algorithm (JEP 339) and Hidden Classes (JEP 371), as well as former preview features now finalized: Text Blocks (JEP 378) and ZGC (JEP 377).
Java is the top choice
Java is pervasive across organizations of all sizes and in all industries. With 51 billion active JVMs deployed globally, Java is the top choice for modern enterprise application development, including analytics, microservices, data management, social, big data, DevOps, mobile, continuous development tools, and chatbots.
Georges Saab, vice president of development, Java Platform Group, Oracle said,
“As Java celebrates its 25th birthday, we continue to make technical investments that drive Java innovation forward and help address the rapidly changing technology landscape. The availability of Java 15 and the incremental innovation that comes with the shift to a six-month release cadence gives the Java community the tools they require to build modern applications that move our world forward.”
The Java 15 release is the result of industry-wide development involving open review, weekly builds and extensive collaboration between Oracle engineers and members of the worldwide Java developer community via the OpenJDK Community and the Java Community Process. The new features delivered in Java 15 are:
- New Functionality
- JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA) – This feature improves security and performance by implementing cryptographic signatures using the EdDSA as described by RFC 8032.
- JEP 371: Hidden Classes – This feature improves productivity by improving how Java works with frameworks that generate classes at run time and use them indirectly, via reflection.
- Preview Features Now Finalized
- JEP 378: Text Blocks – This feature, which was a preview feature in JDK 13 and JDK 14, improves developer productivity by adding multi-line string literals and automatically formatting strings in a predictable way.
- JEP 377: ZGC – This scalable, low-latency garbage collector moves to production after being introduced as an experimental feature in JDK 11.
- Incubating and Preview Features
- JEP 360: Sealed Classes – This preview feature improves developer productivity by enhancing the Java programming language with sealed classes and interfaces. Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them.
- JEP 375: Pattern Matching for instanceof – This preview feature, which was first introduced in JDK 14, improves developer productivity by eliminating the need for common boilerplate code and should allow more concise type safe code.
- JEP 384: Records – This preview feature, first introduced in JDK 14, improves developer productivity by providing a compact syntax for declaring classes which hold shallowly immutable data.
- JEP 383: Foreign-Memory Access API – This incubating feature, which was first introduced in JDK 14, defines an API to allow Java programs to safely and efficiently access foreign memory outside of the Java heap.
- Modernizing Existing Code
- JEP 373: Reimplementation of the Legacy Datagram Socket and MulticastSocket APIs – This feature improves the maintainability and stability of the JDK by replacing the underlying implementations of the java.net.DatagramSocket and java.net.MulticastSocket APIs with simpler and more modern implementations.