3 min Devops

Java 24 feature-frozen, set for release in March

Java 24 feature-frozen, set for release in March

Mark Reinhold, Chief Architect of the Java Platform at Oracle, announced that JDK 24 reached Rampdown Phase Two. This means that no more new features will be added.

Late enhancements to existing JEPs (Java Enhancement Proposals) are possible. However, these must meet an exceptionally high standard. JDK 24 is scheduled for release on March 18. This is not a long-term support (LTS) version; the next LTS release, JDK 25, is expected on Sept. 16.

Reinhold announced this news last week via the OpenJDK mailing list. JDK 24 includes 24 JEPs, two of them experimental and eight in various preview stages.

Major changes

A major change in this release is removing support for Windows 32-bit x86. According to JEP 479, all testing and development efforts focused on Windows 32-bit x86 are being terminated to simplify the JDK’s build and test infrastructure. Other 32-bit platforms, such as ARM32, remain supported, although the Linux 32-bit x86 port is being phased out and scheduled for removal in JDK 25.

JDK 24 also introduces warnings when using the Java Native Interface (JNI), the long-standing method of calling native code such as C libraries. The goal is not to replace JNI – although there is a new Foreign Function and Memory (FFM) API – but to provide a consistent warning level for both JNI and the FFM API. Ultimately, developers who want to call native code will have to explicitly enable it at startup because of the risks associated with interactions between Java and native code.

Another JEP, 498, introduces a warning when first using a memory access method in the `sun.misc.Unsafe` namespace. These methods are already obsolete and will be removed from JDK 26, resulting in an exception when used. Developers are urged to switch to standard APIs in the FFM API and the VarHandle API.

Performance and security

A new performance enhancement, JEP 483, speeds up startup time by pre-loading classes. One run of the application monitors and caches classes so that they are immediately available on the next run. According to the JEP, this feature improves Spring PetClinic sample startup time by 42 percent.

JEP 486 introduces a historic change: the permanent shutdown of the security manager. This feature, present in Java since its first release, considers all code untrustworthy by default. However, the complexity of sandboxing at this level made it impractical, so few applications took advantage of it. Removing the security manager eliminates the significant complexity it added to Java Platform libraries.

Quantum-resistant security

With the rise of quantum computers, which can break traditional encryption, JEP 496 and 497 introduce quantum-resistant modules for key encapsulation and digital signature algorithms.

The full list of new features can be found here .