Graal Upload Era ((top)) -
Remember when deploying Java meant warming up JIT compilers for hours and praying your garbage collection wouldn't ruin the demo?
native-image -O3 -o myapp myapp.jar ./myapp …and it’s up before my terminal finishes rendering.
Then GraalVM walked into the room.
The Graal Upload Era: When Native Java Stopped Being a Punchline
If you haven’t tried spring-native or quarkus in native mode in 2024/2025, do yourself a favor. The future of the JVM is . graal upload era
We went from: “Java for microservices? LOL, cold start goes brrrr.” To: “Yeah, our entire trading edge service is a native Java binary. It runs on a Raspberry Pi. Uploads take 1.2 seconds.” Graal isn’t just a niche ahead-of-time compiler anymore. It’s a first-class citizen in Spring Boot 3, Quarkus, Micronaut, and even GitHub Actions (hello setup-graalvm ).
I still remember -XX:+TieredCompilation and fighting C2 compiler thresholds. Now I just run: Remember when deploying Java meant warming up JIT
For the past 20 years, the "write once, run anywhere" promise had a dirty secret: it only ran well after a long, painful warm-up. Cold starts were the enemy. Serverless was a fantasy. And native images? That was for C++ folks.