JDK 24 favicon
All About JDK 24
JDK 24 • 2025 • Java 24
Stream Gatherers (FINAL)Class-File API (FINAL)AOT Class LoadingML-KEM/ML-DSACompact Object HeadersSync pinning fixed

JDK 24 and the shift from JDK 23

Stream Gatherers FINAL (JEP 485). Class-File API FINAL (JEP 484). Compact Object Headers (experimental, JEP 450). Late Barrier Expansion for G1. Ahead-of-Time Class Loading (Project Leyden, JEP 483). Quantum-safe crypto ML-KEM (JEP 496). Virtual thread pinning fixed. 24 JEPs total.

Why JDK 24 mattered

The release in context

Stream Gatherers FINAL (JEP 485). Class-File API FINAL (JEP 484). Compact Object Headers (experimental, JEP 450). Late Barrier Expansion for G1. Ahead-of-Time Class Loading (Project Leyden, JEP 483). Quantum-safe crypto ML-KEM (JEP 496). Virtual thread pinning fixed. 24 JEPs total.

Stream Gatherers (FINAL)Class-File API (FINAL)AOT Class LoadingML-KEM/ML-DSACompact Object HeadersSync pinning fixed
  • Stream Gatherers FINAL (JEP 485). Class-File API FINAL (JEP 484). Compact Object Headers (experimental, JEP 450). Late Barrier Expansion for G1. Ahead-of-Time Class Loading (Project Leyden, JEP 483). Quantum-safe crypto ML-KEM (JEP 496). Virtual thread pinning fixed. 24 JEPs total.
  • Key release highlights included Stream Gatherers (FINAL), Class-File API (FINAL), AOT Class Loading, ML-KEM/ML-DSA.
  • Compared with JDK 23, the most visible shifts included Quantum-safe ML-DSA (JEP 497), Quantum-safe ML-KEM (JEP 496), AOT Class Data Cache.
  • Project Leyden AOT begins landing. Post-quantum cryptography (ML-KEM, ML-DSA) added. Virtual thread synchronized pinning fixed.
  • This release is useful as a planning waypoint for teams watching where the JDK is heading next.
Platform stack

JDK 24 architecture preview

This larger diagram expands the smaller JDK badge into a layered platform view showing how the development kit, runtime, virtual machine, APIs, tools, and supporting subsystems fit together for this release.

Previous-version diff

What changed from JDK 23 to JDK 24

This release is useful as a planning waypoint for teams watching where the JDK is heading next.

New Features / Modern APIs

  • AOT Class Loading (Leyden) appeared in JDK 24, adding a new capability in new features / modern apis.
  • ML-KEM / ML-DSA (Quantum-safe) appeared in JDK 24, adding a new capability in new features / modern apis.
  • Class-File API (FINAL) was updated in JDK 24, showing active movement in new features / modern apis.
  • Stream Gatherers (FINAL) was updated in JDK 24, showing active movement in new features / modern apis.

Java Language Features

  • Simple Source Launcher appeared in JDK 24, adding a new capability in java language features.
  • Flexible Constructor Bodies (3rd preview) was updated in JDK 24, showing active movement in java language features.
  • Module Import (2nd preview) was updated in JDK 24, showing active movement in java language features.
  • Primitive Types in Patterns (2nd preview) was updated in JDK 24, showing active movement in java language features.

Other Base Libraries

  • AOT Class Loading (Project Leyden) appeared in JDK 24, adding a new capability in other base libraries.
  • Class-File API (FINAL) was updated in JDK 24, showing active movement in other base libraries.
  • Security (post-quantum crypto) was updated in JDK 24, showing active movement in other base libraries.
  • Class-File API (2nd preview) moved from active change in JDK 23 into a more stable baseline by JDK 24.
Matrix slice

Quick comparison table: JDK 23 vs JDK 24

This side-by-side view turns the source evolution matrix into a faster way to see which language, tooling, runtime, and platform layers moved between these two releases.

Area Component JDK 23 JDK 24 Why it stands out
Integration Libraries Quantum-safe ML-DSA (JEP 497) Not present NEW Quantum-safe ML-DSA (JEP 497) appeared in JDK 24, adding a new capability in integration libraries.
Integration Libraries Quantum-safe ML-KEM (JEP 496) Not present NEW Quantum-safe ML-KEM (JEP 496) appeared in JDK 24, adding a new capability in integration libraries.
JVM: Class Loader Subsystem AOT Class Data Cache Not present NEW AOT Class Data Cache appeared in JDK 24, adding a new capability in jvm: class loader subsystem.
JVM: Execution Engine & GC Compact Object Headers (experimental) Not present NEW Compact Object Headers (experimental) appeared in JDK 24, adding a new capability in jvm: execution engine & gc.
JVM: Memory Management AOT Cache Not present NEW AOT Cache appeared in JDK 24, adding a new capability in jvm: memory management.
JVM: Memory Management Compact Object Headers (16 byte -> 8 byte) Not present NEW Compact Object Headers (16 byte -> 8 byte) appeared in JDK 24, adding a new capability in jvm: memory management.
Java Language Features Simple Source Launcher Not present NEW Simple Source Launcher appeared in JDK 24, adding a new capability in java language features.
New Features / Modern APIs AOT Class Loading (Leyden) Not present NEW AOT Class Loading (Leyden) appeared in JDK 24, adding a new capability in new features / modern apis.
New Features / Modern APIs ML-KEM / ML-DSA (Quantum-safe) Not present NEW ML-KEM / ML-DSA (Quantum-safe) appeared in JDK 24, adding a new capability in new features / modern apis.
Other Base Libraries AOT Class Loading (Project Leyden) Not present NEW AOT Class Loading (Project Leyden) appeared in JDK 24, adding a new capability in other base libraries.
Deployment Applet API Deprecated Deprecated Applet API started being phased out in JDK 24, signaling a shift away from older platform assumptions.
JVM: Execution Engine & GC G1 GC (late barrier expansion) Not present UPD G1 GC (late barrier expansion) was updated in JDK 24, showing active movement in jvm: execution engine & gc.
JVM: Runtime Data Areas Virtual Thread Stack (sync fixed) Not present UPD Virtual Thread Stack (sync fixed) was updated in JDK 24, showing active movement in jvm: runtime data areas.
Java Language Features Flexible Constructor Bodies (3rd preview) Not present UPD Flexible Constructor Bodies (3rd preview) was updated in JDK 24, showing active movement in java language features.
Structured comparison

Grouped reading of the release shift

Project Leyden AOT begins landing. Post-quantum cryptography (ML-KEM, ML-DSA) added. Virtual thread synchronized pinning fixed.

New Features / Modern APIs
New in JDK 24
  • AOT Class Loading (Leyden)
  • ML-KEM / ML-DSA (Quantum-safe)
  • Module Import (preview)
  • Primitive Types in Patterns (preview)
Updated by JDK 24
  • Class-File API (FINAL)
  • Stream Gatherers (FINAL)
  • Virtual Threads (synchronized fixed)
  • Stream Gatherers (2nd preview)
Java Language Features
New in JDK 24
  • Simple Source Launcher
  • Module Import Declarations (preview)
  • Primitive Types in Patterns (preview)
Updated by JDK 24
  • Flexible Constructor Bodies (3rd preview)
  • Module Import (2nd preview)
  • Primitive Types in Patterns (2nd preview)
  • Flexible Constructor Bodies (2nd preview)
  • String Templates WITHDRAWN
Other Base Libraries
New in JDK 24
  • AOT Class Loading (Project Leyden)
Updated by JDK 24
  • Class-File API (FINAL)
  • Security (post-quantum crypto)
  • Class-File API (2nd preview)
Historical platform profile

Release narrative

Stream Gatherers FINAL (JEP 485). Class-File API FINAL (JEP 484). Compact Object Headers (experimental, JEP 450). Late Barrier Expansion for G1. Ahead-of-Time Class Loading (Project Leyden, JEP 483). Quantum-safe crypto ML-KEM (JEP 496). Virtual thread pinning fixed. 24 JEPs total.

Project Leyden AOT begins landing. Post-quantum cryptography (ML-KEM, ML-DSA) added. Virtual thread synchronized pinning fixed.

Stream Gatherers (FINAL)Class-File API (FINAL)AOT Class LoadingML-KEM/ML-DSACompact Object HeadersSync pinning fixed
Why it mattered later

Why JDK 24 matters in the JDK timeline

This milestone is useful for forward planning because it sits near the current or upcoming edge of the JDK timeline.

  • JDK 24 sits in the timeline as a forward feature release, which shaped how teams evaluated and adopted it.
  • It is commonly remembered for Stream Gatherers (FINAL), Class-File API (FINAL), AOT Class Loading.
  • Compared with JDK 23, it gives a clearer picture of how the JDK platform was evolving release by release.
  • Project Leyden AOT begins landing. Post-quantum cryptography (ML-KEM, ML-DSA) added. Virtual thread synchronized pinning fixed.
Related pages

Continue through the platform story