Improvements in JDK garbage collection, header sizes, data security and quantum support all should minimize developer friction.
If one sign of maturity is making better choices, then Java has grown up a fair bit in its version 27 release Tuesday.
Better default settings may not be groundbreaking, but they do make life easier for developers because they mean coders have fewer things to change. Nor should users have to grapple with new features, if they are not of interest.
Built from the now-completed Java 27 specification, JDK 27 is a short‑term release that won't get long-term support.
The release includes another five new features offered as previews for further incubation.
In Java 27, compact headers are now available by default.
Traditionally, a Java object header takes up 96 bits in a memory heap, much of which is used.
A run on the SPECjbb2015 Java benchmark standard found that toggling to a 64-bit header resulted in 22% less heap space and 8% less CPU time.
Even in its smaller size, this new layout reserves some space for future projects, such as 4 bits for Project Valhalla which aims to bring value objects to Java.
Java's overseers don’t want to toss the 96-bit header layout, at least for the time being.
Looking ahead to the arrival of quantum computing, Java maintainers have carried out “post-quantum hybrid key exchange,” based on TLS 1.3 (JEP 527).
Work is already underway for Java 28, due in March 2027: Expect a JSON API as an incubating project as well as a revised Shenandoah garbage collector.