JDK 24: Key Features and Updates | Generated by AI
Introduction to JDK 24
Java Development Kit (JDK) 24 is a feature release of the Java SE (Standard Edition) Platform, officially released on March 18, 2025, as the Reference Implementation of version 24, specified by JSR 399 in the Java Community Process. It continues Oracle’s six-month release cadence, delivering a robust set of enhancements to improve developer productivity, performance, and security. JDK 24 includes 24 JDK Enhancement Proposals (JEPs), the highest number of features since the time-based release schedule began in 2018, making it a significant milestone in Java’s evolution. It serves as a stepping stone toward JDK 25, the next Long-Term Support (LTS) release scheduled for September 2025.
Long-Term Support (LTS) Status
JDK 24 is not a Long-Term Support (LTS) release. It is a short-term support release, receiving only six months of Premier-level support from Oracle, until September 2025, when it will be superseded by JDK 25. In contrast, LTS releases like JDK 21 (September 2023) and the upcoming JDK 25 (September 2025) receive at least five years of Premier support, making them preferred for enterprise stability. Oracle’s LTS cadence occurs every two years, with JDK 21 being the most recent LTS and JDK 25 set to be the next.
Release and Stability
JDK 24 is a stable, production-ready release, having reached General Availability (GA) on March 18, 2025. Production-ready binaries are available from Oracle under the Oracle No-Fee Terms and Conditions (NFTC) and the GNU General Public License (GPLv2) for OpenJDK, with other vendors’ binaries following shortly. The release includes over 3,000 bug fixes and smaller enhancements beyond the 24 JEPs, ensuring stability for general use. However, as a non-LTS release, it is primarily aimed at developers eager to test new features rather than enterprises requiring long-term stability.
New Features in JDK 24
JDK 24 introduces 24 JEPs, categorized into core library enhancements, language improvements, security features, HotSpot JVM optimizations, and Java tools. Of these, 14 are permanent features, seven are preview features, two are experimental, and one is an incubator module. Below are some of the most notable features, with a focus on those relevant to developers and deployments:
- Stream Gatherers (JEP 485) - Permanent
- Enhances the Stream API by introducing the
Gatherer
interface, allowing developers to define custom intermediate operations for stream pipelines. This enables more flexible data transformations, complementing the existingCollector
interface for terminal operations. - Example: Grouping words by length using
StreamGatherers.groupBy
. - Benefit: Simplifies complex stream processing for developers.
- Enhances the Stream API by introducing the
- Ahead-of-Time Class Loading & Linking (JEP 483) - Experimental
- Compact Object Headers (JEP 450) - Experimental
- Generational Shenandoah Garbage Collector (JEP 404) - Permanent
- Module Import Declarations (JEP 494) - Second Preview
- Flexible Constructor Bodies (JEP 492) - Third Preview
- Key Derivation Function (KDF) API (JEP 487) - Preview
- Permanently Disable the Security Manager (JEP 486) - Permanent
- Late Barrier Expansion for G1 Garbage Collector (JEP 464) - Permanent
- Quantum-Resistant Cryptography (JEP 452, 453) - Preview
- Scoped Values (JEP 480) - Fourth Preview
- Deprecate 32-bit x86 Port (JEP 501) - Permanent
- Vector API (JEP 489) - Ninth Incubator
- Linking Run-Time Images without JMODs (JEP 493) - Permanent
Additional Notes
- Preview and Experimental Features: Many features (e.g., Scoped Values, KDF API) are in preview or experimental stages, allowing developers to test and provide feedback before they become permanent in JDK 25 or later. These may change before finalization.
- Project Integration: JDK 24 introduces elements of OpenJDK Projects like Leyden (startup optimization), Lilliput (memory efficiency), and Panama (native interoperability), laying groundwork for future enhancements.
- Security and Deprecation: Features like the removal of the Security Manager and deprecation of the 32-bit x86 port reflect Oracle’s focus on modernizing Java by phasing out outdated components.
Conclusion
JDK 24 is a stable, feature-rich release that advances Java’s performance, developer productivity, and security. While not an LTS release, its 24 JEPs offer significant improvements, many of which will be finalized in the upcoming LTS release, JDK 25. Developers can leverage features like Stream Gatherers and Module Import Declarations for immediate productivity gains, while experimental features like Compact Object Headers and Ahead-of-Time Class Loading signal Java’s ongoing optimization for modern workloads. For enterprise use, sticking with LTS releases like JDK 21 or awaiting JDK 25 is recommended due to their extended support.
For more details, visit:
- Oracle JDK 24 Release Notes
- OpenJDK JDK 24
- JavaOne 2025 Conference for feature highlights