Ready for GraalVM Native Image
Discover libraries and frameworks that work out-of-the-box with Native Image.
Ahead-of-time compiled applications use only a fraction of the resources required by the JVM which means they cost less to run and improve utilization.
Native image reduces attack surface area by removing all unused classes, method, and fields from your application and libraries while making reverse engineering difficult by converting Java bytecode into native machine code.
Ahead-of-time compiled applications start in milliseconds and deliver peak performance with no warmup.
Ideal for Containers
Compact native executables can be packaged in lightweight container images for more secure, faster, and efficient deployments.
Native Image is supported by all the leading microservice frameworks including Micronaut, Spring, Helidon, and Quarkus.
Native Image compiled applications can use GraalVM polyglot embedding to leverage non-Java language libraries and capabilities.
Java Framework Support
Simplify Native Image usage with integrated support from leading frameworks
Micronaut is a modern full-stack application framework for microservices and serverless functions. Micronaut eliminates Java reflection so that applications start fast, run fast, and enjoy reduced memory requirements. With out-of-the-box support for Native Image, applications can be easily compiled into native executables, packaged in containers, and deployed.Learn more
Spring is an application framework and inversion of control container, providing a productive programming and configuration model for Java applications. The Spring Native project provides support for compiling Spring Boot applications into native executables using GraalVM Native Image.Learn more
Helidon is a collection of Java libraries for creating microservices-based applications that run on a fast web core powered by Netty. With integrated GraalVM Native Image support, Helidon applications can be compiled ahead-of-time into small native executables, packaged in containers, and deployed.Learn more
Quarkus is an open source, full-stack, Kubernetes-native Java framework made for Java virtual machines (JVMs) and native compilation with GraalVM Native Image, designed to optimize Java making it efficient for containers, cloud, and serverless environments.Learn more
Developing with Native Image
Native Maven/Gradle Plugin
Maven and Gradle plugins for Native Image make building, testing, and running Java applications as native executables a breeze. Learn more →
Native Image support for JUnit generates native binaries that include tests, application classes, and required libraries so that tests can be run against native machine code executables. Learn more →
Generate native executables with debug information and use GDB just like you would for C and C++ applications. For an even better experience, use the GraalVM tools for Java in VS Code to set breakpoints, attach to a native executable, inspect values, and step through code the same way you would when debugging a Java app on the JVM. Learn more →
Native executables are ideal for containers given their size and simplicity. With static, "mostly static", and dynamic linking options along with support for both glibc and musl C libraries, native executables can be deployed on virtually any lightweight base image. Learn more →