Runtime Efficiencies and Spring Boot
summary
Baseline Java 8 with Spring Boot 2.7 uses ~166 MB and ~0.8 s startup on the laptop; simply upgrade Java 8→23 cuts memory to ~84 MB and trims startup. Extracting the JAR, enabling AOT processing, and creating a CDS archive progressively drop startup (≈0.6 s → ≈0.47 s) and memory (≈85 MB → ≈58 MB). Building a GraalVM native‑image yields single‑binary executables under ~12 MB and startups in tens of milliseconds, proven on ARM64 Raspberry Pi clusters.
AI-written summary · about
chapters (10)
- 0:00Introduction and speaker background
- 3:33Spring and Java evolution
- 8:11Setting up the demo environment
- 16:21Upgrading Java version
- 21:40Extracting JAR files for performance
- 29:23Ahead-of-time processing with Spring Boot
- 39:19Class data sharing for faster startup
- 47:15Native images with GraalVM
- 55:08Virtual threads and future optimizations
- 58:36Q&A and closing remarks
related talks
52mLean Spring Boot Applications for the Cloud
49mBuilding Lean Spring Boot Applications for the Cloud
42mTechniques for a faster JVM start-up
53mFour Approaches to Reducing Java Startup Time
43mStep up the performance game with Spring Boot and Project Leyden
45mFour Approaches to Reducing Java Startup Time: AppCDS, Native Image, Project Leyden, CRaC
53mBootiful GraalVM
26mGoing Serverless With Spring’s Support for GraalVM, Project CraC & More
