<build>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Build
mvn -Pnative native:compile
Produces
hello-api
Executable.
Java Source
↓
javac
↓
.class
↓
JVM
↓
Machine Code (JIT)
The JVM starts first.
Then loads classes.
Then verifies them.
Then interprets.
Then JIT compiles.
Spring Boot
↓
java -jar app.jar
↓
JVM starts
↓
Load classes
↓
JIT
↓
Application starts
.class
↓
Native Image
↓
Machine Code