The upcoming release of Java Development Kit (JDK) 23 is scheduled for September 17, with plans already underway for JDK 24. The first feature targeted for JDK 24 is to restrict the use of JNI (Java Native Interface). Many other features, some of which are already in preview in JDK 23, are also being considered for inclusion.
Expected to be released in March 2025, JDK 24 has been designated as a non-long-term support (LTS) release, meaning it will receive only six months of Premier-level support from Oracle, similar to JDK 23.
The initial feature for JDK 24, titled “Prepare to Restrict the Use of JNI,” involves issuing warnings about JNI usage and adjusting the foreign function and memory (FFM) API to provide consistent warnings. These warnings are part of the preparation for a future release that will uniformly restrict JNI and the FFM API to ensure integrity by default. The goals include preserving JNI as a standard way to interact with native code and aligning the use of JNI and the FFM API for easier migration between the two.
Other features for JDK 24 will be decided in the coming months, with potential inclusions such as previews or final releases of features from JDK 23. These features encompass various areas such as class-file API, stream gatherers, module import declarations, structured concurrency, scoped values, flexible constructor bodies, primitive types in patterns, vector API, ahead-of-time class loading, and string templates.
The latest LTS release, JDK 21, was launched in September 2023 and is set to receive at least five years of Premier support from Oracle. The subsequent LTS version, JDK 25, is expected in September 2025. Given the popularity of LTS releases among Java users, the adoption of JDK 23 and JDK 24 might be slower as users await JDK 25.