Oracle has launched GraalVM for JDK 24, a machine learning-optimized version of its Java Development Kit, designed to enhance performance for microservices applications. Released on March 18, GraalVM for JDK 24 introduces several cutting-edge features, including the integration of machine learning-based profile inference, which has been shown to increase peak performance by an impressive 7.9% on a variety of microservices benchmarks. This includes popular frameworks such as Micronaut, Spring, and Quarkus, making it an attractive option for developers looking to optimize their applications.
The most significant advancement in this release is the introduction of GraalNN, a new generation of machine learning-enabled inference. GraalNN uses neural networks for context-sensitive static profiling, which predicts execution probabilities and improves optimizations in the native images created by GraalVM. By incorporating a pre-trained ML model to forecast control flow branch outcomes, GraalVM can generate more efficient native binaries, offering faster startup times—up to 100 times quicker—while consuming less memory and CPU compared to traditional Java applications running on a Java Virtual Machine (JVM).
Another notable feature in GraalVM for JDK 24 is SkipFlow, an extension of the points-to-flow analysis. This technology tracks primitive values and evaluates branching conditions during runtime, allowing for the production of smaller, more optimized binaries without adding to build times. By reducing the number of methods that need to be compiled and analyzed, SkipFlow also results in faster image builds, making it a valuable tool for developers aiming to streamline the compilation process.
This release also marks a significant step toward Java agent support at runtime, an area that has traditionally been limited in Native Image. While previous versions of GraalVM required agents to run and transform all classes at build time, this update introduces runtime support for Java agents, giving developers more flexibility. Additionally, Oracle continues to enhance the GraalVM’s support for vector API operations, improving the efficiency of SIMD (single instruction, multiple data) code compilation on supported hardware.