CRaC is an OpenJDK project that solves one of the most common complaints about Java in cloud environments: slow startup. The JVM traditionally takes time to load classes, initialise frameworks, and warm up the JIT compiler before an application can serve its first request. In a serverless or container-heavy deployment, this warmup cost is paid every time a new instance starts.
CRaC addresses this by letting you take a checkpoint of a fully-warmed, running JVM process — capturing its complete in-memory state — and then restore that snapshot on demand. A restored process skips the entire startup and warmup sequence, reaching full speed in milliseconds.
The project was initiated by Azul and is now an OpenJDK standard API, with support in frameworks including Spring Boot and Quarkus. It works on Linux using the CRIU (Checkpoint/Restore In Userspace) mechanism, and more recently via a new engine called Warp that does not require elevated privileges.
More reading on Foojay:
Comments (0)
No comments yet. Be the first.