Oracle has announced its latest innovation, GraalVM for JDK 24, a Java Development Kit equipped with advanced machine learning techniques. This recent release, unveiled on March 18, is revolutionizing the Java development landscape by integrating ML-enabled profile inference via GraalNN, delivering an average 7.9% performance enhancement on microservices benchmarks involving frameworks such as Micronaut, Spring, and Quarkus. GraalNN employs context-sensitive static profiling using neural networks, optimizing application performance through dynamic runtime adjustments.
Enhanced Performance with GraalNN
GraalNN’s usage of context-sensitive static profiling with neural networks is a standout aspect of GraalVM for JDK 24. This approach allows for intelligent optimizations to maximize peak performance. By interpreting application behavior at runtime, GraalNN achieves superior efficiency, particularly notable in environments where microservices frameworks like Micronaut, Spring, and Quarkus are deployed. The employment of neural networks in GraalNN ensures that applications can adapt and optimize themselves, ultimately resulting in average performance boosts of 7.9%.
Additionally, Oracle’s GraalVM incorporates the Native Image feature, facilitating the translation of Java applications into native binaries. This remarkable capability leads to faster startup times, minimized memory and CPU usage, and enhanced peak performance without the necessity for prolonged warm-up periods. The magic behind this lies in the pre-trained ML model that predicts control flow graph branch executions, making it possible for Java applications to achieve such efficiency in their native binary forms.
Advanced Analytical Tools with SkipFlow
Alongside GraalNN, the GraalVM release introduces SkipFlow, an advanced points-to-flow analysis extension that monitors primitive values and assesses branching conditions during the analysis phase. SkipFlow’s innovation resides in its ability to deliver more compact binary sizes without extending build times, achieved by minimizing the number of methods that require compilation and analysis, thereby expediting the image build process. The results are smaller images without compromising on build time, thus making Java application builds both faster and more efficient.
The new release also extends initial support for Java agents at runtime by GraalVM, a significant enhancement that was previously limited by the need for agent activities during build time. This development opens the door for more dynamic and flexible Java applications, catering to diverse runtime requirements. Additionally, enhancements to the vector API ensure that the compilation process translates more efficiently to SIMD (single instruction, multiple data) codes, supporting varied target hardware.
Diagnostic and Security Improvements
Expanding on its commitment to robust support, Oracle has implemented experimental jcmd support for both Linux and macOS. These diagnostic command capabilities are invaluable for tasks such as Java Flight Recordings and troubleshooting, providing developers with the tools they need for in-depth diagnostics. Enhanced jcmd support and new security functions add another layer of reliability to the GraalVM framework.
In terms of security, GraalVM for JDK 24 introduces dependency tree support in Native Image, reinforcing the integrity and dependability of the applications it generates. Furthermore, the removal of the “customTargetConstructorClass” field from serialization JSON metadata ensures that all constructors are registered automatically, streamlining processing and enhancing security. Java module system-based service loading has also been integrated, providing a more modular and scalable approach to application development.
Conclusion
Oracle has introduced GraalVM for JDK 24 in its latest release, unveiled on March 18. This Java Development Kit is equipped with advanced machine learning technology, setting a new standard in the Java development community. One of its most notable features is the integration of ML-enabled profile inference through GraalNN. This cutting-edge technology delivers an impressive average performance boost of 7.9% on microservices benchmarks, including those involving popular frameworks like Micronaut, Spring, and Quarkus. GraalNN achieves this by utilizing context-sensitive static profiling powered by neural networks, allowing for the dynamic adjustment of application performance during runtime. By optimizing how applications run, it provides developers with faster, more efficient software. This new GraalVM release is poised to significantly enhance how developers build and deploy Java applications, making it a groundbreaking tool for the future of Java development.