How to Reduce the Footprint of Your Spring Boot Applications
summary
Upgrading Java 8→17 cuts PetClinic homepage response from ~21s to <17s with no code changes; switching to Java 21 + Spring Boot 3.2/3.25 plus tuning lets fewer instances handle the same load. Enabling Spring AOT and class data sharing roughly halves startup time; CRaC produces tens-of-milliseconds cold starts by snapshotting a warmed JVM; GraalVM native images deliver millisecond startup, no warmup and much smaller memory under load but lose some dynamic/runtime features and need build-time work.
AI-written summary · about
chapters (9)
- 0:00Introduction to sustainability
- 1:23Foundation for optimization
- 4:26Modern tooling enhancements
- 6:07Strategies for footprint
- 11:03Optimizing startup time
- 21:53Project CRaC overview
- 23:59GraalVM native images
- 27:03Measuring and tradeoffs
- 34:44Conclusion and Q&A
related talks
48mLean Spring Boot Applications for the Cloud
51mLean Spring Boot Applications for The Cloud
46mLean Spring Boot Applications for The Cloud
42mSupercharge your JVM performance with Project Leyden and Spring Boot
01h 02mOptimizing Containerized #Java Apps with Jib, #GraalVM, CDS, & #CRaC
24mSpring: Your Next Java Micro-Framework
51mSpring Boot 3 / Spring 6: What’s new?
45mBootiful Spring Boot 3
