Java software provider Azul Systems recently released Azul Zulu builds of OpenJDK with Coordinated Restore at Checkpoint (CRaC) support. This new functionality is expected to dramatically improve Java startup and warmup times.
The OpenJDK CRaC project allows a running application to pause, take a snapshot of its state, and subsequently restart on a different machine if needed. Azul offers the Azul Zulu builds of OpenJDK with CRaC for Java 17 on Linux x64 platforms. The release is freely available for download on Azul's website, and can be employed for development, prototyping, and production purposes, says the company. Azul also plans to introduce CRaC capabilities for additional Java versions in the future. CRaC, designed to enable Java applications to start instantaneously and at full speed, includes a Java API that allows resource coordination during checkpoint and restore operations. CRaC is well suited for serverless functions, containers, microservices, and other use cases.
By leveraging CRaC, Java application startup and warmup times can now be reduced from seconds or minutes down to just milliseconds. The CRaC approach entails pausing an application, taking a snapshot of its state and memory, and subsequently restarting it, even on an altogether different machine. A CRaC checkpoint produces the image of the complete application process, including state and memory. Upon restoration, the application state is reloaded, and execution resumes from the point where the checkpoint was initially created.
Previously, methods for dealing with sluggish Java startup and warmup times included load balancing, containerization, caching, pre-loading, pre-optimizing, and pre-initializing application code. However, these measures lack efficiency and often involve significant infrastructure overhead, thus raising costs and diminishing operational and developer efficiency. Moreover, other approaches, such as ahead-of-time compilation, fail to offer complete compatibility with the Java specification and suffer from decreased runtime performance.
In the no-code and low-code realm, AppMaster's platform provides swift and efficient application development for backend, web, and mobile applications. This makes it a valuable tool in a world where improving startup times and performance across different systems and platforms is increasingly important. Consider trying AppMaster Studio for faster application development and seamless integration with various systems.