What the CRaC - Superfast JVM Startup
summary
Overview of a concrete fix: an OpenJDK project CRaC uses Linux CRIU to take a warmed JVM snapshot and restore it later, cutting Spring PetClinic startup from ~4.1s to ~700ms with automatic framework checkpoint and to ~300ms with a manual full-app checkpoint; native-image was ~500ms. It requires Linux on Intel/ARM and JDK 17+, exposes a simple API (beforeCheckpoint/afterRestore), produces ~250MB checkpoints in the demo, and the or.crack library is on Maven Central.
AI-written summary · about
chapters (17)
- 0:00CRaC and JVM startup
- 1:07JVM runtime execution
- 10:03Slow Java startup in containers
- 15:29Checkpoint/Restore (CRIU) limits
- 20:04CRaC solves CRIU limits
- 23:56Create and use CRaC checkpoint
- 28:15CRaC OS support
- 30:25CRaC library/frameworks
- 31:52Spring Boot 3.2 CRaC
- 32:14Live demo: CRaC vs no CRaC
- 36:45CRaC cost savings
- 37:50CRaC vs AOT/native images
- 39:59Q&A: Inflight connections
- 41:24Q&A: Java version impact
- 41:46Q&A: Faster startup rules
- 42:29Q&A: CRaC CI/CD pipeline
- 43:55Q&A: Production checkpoints
related talks
40mKotlin on CRaC – new JVM features to speed things up
40mHigh-Performance Java-Cloud-Native Apps & Microservices
44mScale to Zero with Spring + GraalVM or WebAssembly
48mSupersonic, Subatomic Eclipse MicroProfile
40mA Tour of the Modern Java Platform
42mNative Cloud Native with Java, Quarkus and MicroProfile
49mSupersonic subatomic Enterprise Java from the ground up
35mOptimize your applications to the max with Jakarta EE and MicroProfile
