Build faster, smaller, leaner applications

An advanced JDK with ahead-of-time Native Image compilation

graalvm-icon

Announcement

GraalVM for JDK 21 is here! 🚀

This release takes AOT performance to the next level and ships G1 GC for AArch64 as well as new Java 21 features such as virtual threads.

Features

small footprint advantage icon

Low Resource Usage

Native executables use only a fraction of memory and CPU resources required by a JVM, which improves utilization and reduces costs.
improved security advantage icon

Improved Security

Native executables contain only the classes, methods, and fields that your application needs, which reduces attack surface area.
fast startup advantage icon

Fast Startup

Native executables compiled ahead of time start up instantly and require no warmup to run at peak performance.
ideal for containers advantage icon

Compact Packaging

Native executables are small and offer a range of linking options that make them easy to deploy in minimal container images.
microservices advantage icon

Supported by Frameworks

Popular frameworks such as Spring Boot, Micronaut, Helidon, and Quarkus provide first-class support for GraalVM.
clouds advantage icon

Supported by Leading Cloud Platforms

SDKs from leading cloud platforms such as AWS, Microsoft Azure, GCP, and Oracle Cloud Infrastructure integrate and support GraalVM.

Native Image

Write efficient, more secure, and highly-scalable cloud native Java applications.

Using GraalVM

develop code icon

Develop

IDE and Java Tool Support

Use your favorite Java IDE and development tools, and then compile your application ahead-of-time into an executable with GraalVM Native Image. It's just a seamless extra step in your development process.
build code icon

Build

Maven and Gradle Plugins

The Native Build Tools provide Maven and Gradle plugins that make it easy to compile your applications ahead-of-time as part of your build process.
test code icon

Test

JUnit 5 Support

Test your native applications with JUnit test support compiled ahead-of-time.
debug code icon

Debug

Native Debugging with GDB

Set breakpoints, step through Java sources line-by-line, and inspect variables in a native executable with GDB and in supported IDEs.
package and deploy code icon

Package & Deploy

Small and Efficient Containers

Native executables are ideal for use with light-weight container images that minimize attack surface area to improve security. A statically-linked native executable can even run in a scratch container image!
monitor code icon

Monitor

Support for JFR, JMX, and more

Monitor native executables with the same tools you use for applications deployed on the JVM. Native executables can optionally include support for JFR, JMX, heap dumps, jvmstat, and more.

More GraalVM Technologies

JIT compilation icon

Graal JIT Compiler

Use the GraalVM JDK with the optimizing Graal just-in-time (JIT) compiler to increase your Java application performance.
polyglot programming icon

Additional Languages

Extend your Java applications with code written in other languages or accelerate other languages with GraalVM.

Connect with us