Version
- GraalVM for JDK 22 (Latest)
- GraalVM for JDK 23 (Early Access)
- GraalVM for JDK 21
- GraalVM for JDK 20
- GraalVM for JDK 17
- GraalVM 22.3
- GraalVM 22.2
- GraalVM 22.1
- GraalVM 22.0
- GraalVM 21.3
- Dev Build
- Getting Started with Native Image
- Guides
- Native Image Basics
- Build Overview
- Reachability Metadata
- Optimizations and Performance
- Profile-Guided Optimization
- Memory Management
- Class Initialization
- Profile-Guided Optimization
- Basic Usage of Profile-Guided Optimizations
- Inspecting a Profile in a Build Report
- Merging Profiles from Multiple Sources
- Tracking Profile Quality
- PGO Frequently Asked Questions
- Debugging and Diagnostics
- Dynamic Features
- Interoperability with Native Code
- LLVM Backend
- Workshops and Labs
Optimizations and Performance
Native Image provides advanced mechanisms to further optimize the generated binary:
- Profile-Guided Optimization (PGO) can provide additional performance gain and higher throughput for most native images. See Profile-Guided Optimization.
- Choosing an appropriate Garbage Collector and tailoring the garbage collection policy can reduce GC times. See Memory Management.
- Loading application configuration during the image build can speed up application startup. See Class Initialization at Image Build Time.