Native Spring Applications with GraalVM
summary
GraalVM native-image compiles a Spring Boot 3 app (using Spring Boot 3 + Spring AOT and the native Maven plugin) into a standalone executable that embeds SubstrateVM and AOT-generated bean Java sources. Analysis of a Hello World shows ~2,100 classes on Linux and ~2,800 on Windows (roughly 50–74% of JRE classes retained). A demo Spring+Mongo app builds to 0.8s startup vs ~1.7s on the JVM, uses ~100MB vs ~230MB memory, and shows comparable basic throughput; drawbacks include lower long‑run peak throughput, some incompatible libs (e.g. log4j), and tougher Windows toolchain.
AI-written summary · about
chapters (15)
- 0:00Introduction to GraalVM
- 3:22JIT vs AOT compilation
- 5:09Hello World demo
- 10:56GraalVM compilation process
- 13:05Benefits and drawbacks
- 15:15Spring Boot and GraalVM
- 17:28Spring Boot native demo
- 23:25Startup performance comparison
- 28:51CPU and memory usage analysis
- 33:40Load test results
- 35:06Optimization techniques
- 36:52Current limitations
- 38:58Use cases for native apps
- 41:51Migration tips
- 42:53Summary and closing
related talks
46mFast and Lightweight Spring Boot Applications with GraalVM
47mGoing Native: Fast and Lightweight Spring Boot Applications with GraalVM
31mBring the action: using GraalVM in production
51mMigrating Spring Boot apps to GraalVM
53mBootiful GraalVM
35mRunning Spring Boot applications as GraalVM native images
46mNative builds with Spring Boot 3
44mBring the Action: Using GraalVM in Production
