Announcements

Liberica JDK 24 is Released

Mar 19, 2025
Aleksei Voitylov
6.7

Liberica JDK 24 is Released

We are happy to announce the release of Liberica JDK 24! This is a final feature release before the next LTS release due in September 2025, so if you are planning the migration to JDK 25, JDK 24 gives a great opportunity to test new features and prepare for the upgrade.

Liberica JDK 24 release contains

  • 2,597 fixes in JDK and 175 fixes in FX,
  • 24 Java Enhancement Proposals (JEPs) with new, enhanced, or deprecated functionality.

Download Liberica JDK 24

Summary of JEPs in JDK 24

Finalized Features

  • JEP 484: Class-File API provides a standard API for working with Java class files.
  • JEP 485: Stream Gatherers introduces custom intermediate operations to Stream API.

New Features

Increased performance

  • JEP 404: Generational Shenandoah (Experimental) enables Shenandoah GC to separate the Java heap into young and old generations to collect young objects more frequently, thus reducing the CPU usage and memory footprint.
  • JEP 475: Late Barrier Expansion for G1 shifts G1 GC barrier extension to later phases of JIT compilation, reducing the CPU and memory usage during the JVM warmup.
  • JEP 483: Ahead-of-Time Class Loading & Linking creates the AOT class with initialized and linked application and system classes to reduce the JVM startup time. 

Decreased Memory Footprint

  • JEP 450: Compact Object Headers (Experimental) reduces the size of Java object headers to 64 bits on 64-bit architectures, thus reducing the Java heap size. 
  • JEP 493: Linking Run-Time Images without JMODs enables the jlink tool to exclude the JMOD files from custom runtime images, reducing their size by 25%. 

Hardened security

  • JEP 478: Key Derivation Function API (Preview) introduces cryptographic algorithms for deriving additional keys from a secret key and other data.
  • JEP 496: Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism introduces modern cryptography algorithms designed to be secure against quantum computing attacks.
  • JEP 497: Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm introduces a modern digital signature algorithm designed to be secure against quantum computing attacks.

Enhanced Features

Facilitated development

  • JEP 487: Scoped Values (Fourth Preview) introduces one change to the Scoped Values API, which is the removal of the callWhere and runWhere methods.
  • JEP 488: Primitive Types in Patterns, instanceof, and switch (Second Preview) re-previews the feature without changes.
  • JEP 492: Flexible Constructor Bodies (Third Preview) re-previews the feature without significant changes.
  • JEP 494: Module Import Declarations (Second Preview) introduces two additions to the feature. These are the ability to use type-import-on-demand declarations and the removal of the restriction that prohibited modules to declare a transitive dependence on the java.base module.
  • JEP 495: Simple Source Files and Instance Main Methods (Fourth Preview) rep-previews the feature without changes, except for a revised title and terminology.
  • JEP 499: Structured Concurrency (Fourth Preview) re-previews the feature without changes.

Increased Performance

  • JEP 489: Vector API (Ninth Incubator) re-previews the feature with several important changes, including the introduction of a value-based class Float16 and changes to the selectFrom cross-lane operation, the selectFrom and rearrange cross-lane operations, transcendental and trigonometric lanewise operations
  • JEP 491: Synchronize Virtual Threads without Pinning allows virtual threads to mount and unmount platform threads in the synchronized method, eliminating negative impacts on scalability.

Removed and Deprecated Features

  • JEP 479: Remove the Windows 32-bit x86 Port removes the source code and build support for the Windows 32-bit x86 port as the last Windows OS supporting 32-bit operation will reach EOL in October 2025.
  • JEP 486: Permanently Disable the Security Manager disables the deprecated Security Manager API, which will be removed completely in the future releases.
  • JEP 490: ZGC: Remove the Non-Generational Mode removes the non-generational mode of the low-latency ZGC because this collector became generational by default in JDK 23.
  • JEP 501: Deprecate the 32-bit x86 Port for Removal deprecates the 32-bit Linux x86 port, the only 32-bit x86 port remaining in the OpenJDK, which will be removed in future releases.

Preparation for Restriction or Removal

  • JEP 472: Prepare to Restrict the Use of JNI makes the JVM issue warnings upon the usage of Java Native Interface and the Foreign Function and Memory API. In the future, the developer will have to explicitly enable native access, or else the JVM will throw exceptions. 
  • JEP 498: Warn upon Use of Memory-Access Methods in sun.misc.Unsafe makes the JVM issue warnings upon the usage of deprecated memory-access methods in the sun.misc.Unsafe. These methods will be removed completely in future releases.

You can read more about each JEP in our Overview of JDK 24 Features or watch a dedicated video overview.

Download Liberica JDK 24 builds now!

Regardless of whether you are planning to migrate to the next LTS release or just want to play around with new Java features, you can download and use Liberica JDK for free. Head over to the Liberica JDK Download Center to get the fresh JDK builds for your platform.

Download Liberica JDK 24

Subcribe to our newsletter

figure

Read the industry news, receive solutions to your problems, and find the ways to save money.

Further reading