News

Java 24 Unveils Major Enhancements, Streamlining Performance and Security

The latest release of Java Development Kit (JDK) 24, scheduled for release on March 18, introduces 24 new features, marking the most substantial update to the platform since 2018. Key changes include faster application startup, enhanced concurrency, security overhauls, and a move away from outdated APIs, reflecting a broader effort to modernize Java while maintaining its widespread enterprise adoption.

Java has adhered to a biannual release cycle since 2018, and JDK 24 continues this steady evolution, delivering significant performance optimizations and refining core features.

Key Features in JDK 24

  1. Faster Startup with Ahead-of-Time Linking (JEP 483)

A major upgrade comes from Project Leyden, which aims to reduce Java application startup times. JEP 483, Ahead-of-Time Class Loading and Linking, minimizes the overhead of Java’s traditional just-in-time (JIT) compilation, ensuring applications load faster by preloading and linking classes before runtime.

This enhancement builds on Application Class Data Sharing (JDK 11), making class files instantly available when the Java Virtual Machine (JVM) starts—reducing latency for enterprise applications.

  1. Enhanced Java Streams with Gatherers (JEP 485)

Developers leveraging Java’s Stream API will benefit from JEP 485, Stream Gatherers, which introduces more flexible intermediate operations. Unlike existing Stream methods, Gatherers allow developers to implement custom, reusable processing logic, making functional programming in Java more efficient.

  1. Security Manager Removed (JEP 486)

Java permanently disables the Security Manager, a feature originally designed to restrict permissions for remotely loaded code. The removal follows its deprecation in JDK 17 and reflects the shift away from Java Applets and browser-based execution.

Though rarely used in modern applications, this change may require architectural updates for legacy systems relying on the Security Manager for security enforcement.

  1. Improved Virtual Threads (JEP 491)

First introduced in JDK 21, virtual threads significantly improve Java’s ability to handle high-concurrency workloads. However, they previously suffered performance limitations when using synchronized blocks, leading to inefficient resource allocation.

JEP 491, Synchronize Virtual Threads without Pinning, resolves this by decoupling synchronization mechanisms from the underlying platform thread, allowing Java applications to scale efficiently without blocking physical CPU resources.

  1. Phasing Out Unsafe APIs (JEP 498)

Java’s long-standing sun.misc.Unsafe class, notorious for bypassing memory safety, moves closer to full deprecation. JEP 498 now triggers runtime warnings when unsafe memory-access methods are used.

Developers are encouraged to migrate to the VarHandle API and the Foreign Function & Memory API, ensuring compliance with modern memory safety standards.

  1. End of 32-bit x86 Java Support (JEP 501)

Java is formally deprecating the 32-bit x86 Linux port, following a similar move for Windows in JDK 21 (JEP 449). With most enterprise deployments running on 64-bit architectures, this change signals Java’s commitment to optimizing for modern computing environments.

JDK 24 reflects Oracle’s continued investment in Java, balancing performance, security, and developer productivity. With JDK 25 scheduled as the next long-term support (LTS) release in September 2025, enterprises can expect further optimizations and AI-driven enhancements in the coming iterations.

About the Author

John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].

Upcoming Training Events