|Java 15 Reaches General Availability|
|Written by Kay Ewbank|
|Thursday, 17 September 2020|
Oracle has announced that Java 15 is now generally available. The announcement was made in the opening keynote of Oracle Developer Live, an online version of the usual CodeOne and OpenWorld conferences.
This is the first release of 'official' Oracle Java following the language’s 25th anniversary in May.
Georges Saab, vice president of development for Oracle's Java Platform Group, 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 release date follows Oracle's regular six monthly release schedule that they started back in 2018 with Java 10. The aim is to deliver improvements and fixes in smaller sets to minimize the disruption. There are two separate releases of Java 15 - Oracle JDK 15 is the commercially licensed version with commercial support, while Oracle OpenJDK 15 is offered under the open source GNU General Public License v2, with the Classpath Exception (GPLv2+CPE).
Java 15 has been worked on by both Oracle employees and third party developers. Java 15 adds support for hidden classes and improves security with support for the Edwards-Curve Digital Signature Algorithm (EdDSA). This is designed to improve security and performance in cryptographic signatures.
The support for hidden classes makes it easier to use frameworks that need to generate classes at run time. Hidden classes can only be accessed via reflection, not from ordinary bytecode. They can also be unloaded independently of other classes, which may reduce a framework's memory footprint.
A number of features that had been included in preview versions have now been finalized, including text blocks. 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 developers control over the format when desired.
ZGC, the scalable low-latency GC, is now a production feature. The goal of the move to ZGC is to reduce GC pause times, handle heaps ranging from relatively small (a few hundreds of megabytes) to very large (many terabytes) in size, as well as lay a foundation for future GC features and optimizations leveraging colored pointers and load barriers.
Shenandoah has also been included as a production feature. Shenandoah is a low-pause-time garbage collector that reduces GC pause times by doing evacuation work concurrently with the running Java threads. Pause times with Shenandoah are independent of heap size. Shenadoah has been added as an alternative GC, but the default GC is still G1.
or email your comment to: firstname.lastname@example.org