Visit Azul.com Support

CRaC in Azul Zing and Azul Zing Compared

CRaC is available in both OpenJDK Builds provided by Azul, but with different supported platforms and implemented features.

Azul Zulu Builds of OpenJDK

Azul Zulu Builds of OpenJDK (Azul Zulu) are open source, TCK-tested and certified builds of OpenJDK. Azul Zulu is available for a wide range of hardware platforms and operating systems.

CRaC in Azul Zulu

CRaC is an OpenJDK project, and got its first implementation in Azul Zulu. Multiple builds for various versions are available of Azul Zulu with included CRaC functionality. Azul Zulu has an extended implementation of CRaC compared to the OpenJDK version, for instance, with more CRaC Engines.

Currently, CRaC in Azul Zulu is only available for specific Linux systems, in the versions listed below. For development, you can use the CRaC Java library on any platform and simulate the CRaC functionality.

Supported Platforms for Azul Zulu with CRaC

  • : Build of OpenJDK with full CRaC support and the Warp engine.

  • : Build of OpenJDK with CRaC support for development purposes. These provide a simulated checkpoint/restore mechanism to be used for development and testing.

Operating System

Azul Zulu Version

17

21

24

25

x86 64-bit

ARM 64-bit

x86 64-bit

ARM 64-bit

x86 64-bit

ARM 64-bit

x86 64-bit

ARM 64-bit

Linux

Alpine Linux 3.16

Windows

n/a

n/a

n/a

n/a

macOS

Azul Zing Builds of OpenJDK

Azul Zing Builds of OpenJDK (Azul Zing) are a modern, TCK-compliant Java platform based on OpenJDK. You don’t need to recompile your code to run your Java workloads with Azul Zing and take advantage of:

  • Low, consistent response latency of your Java workloads.

  • Higher total throughput and carrying capacity, even under strict response latency SLAs.

  • Faster warm-up to your application’s steady-state performance and less deviations from steady-state performance over the life of your Java application.

  • Infrastructure savings from serving the same load with fewer Java instances.

CRaC in Azul Zing

Starting with version 25.08.1.0 of Azul Zing (expected end of September 2025), Builds of Azul Zing are available with CRaC support.

Currently, CRaC in Azul Zing is only available for Linux on x86_64, in version 17 and 21.

CRaC can be used in a very similar way with both Azul Zulu and Azul Zing, but please check Usage Instructions for Azul Zing Builds of OpenJDK, for some Zing-specific instructions.

Unsupported Features in Zing with CRaC

The following features are not available in Zing when using CRaC:

  • Optimizer Hub

  • Java Flight Recorder (JFR)

  • Tick profiler

  • MultiTiering

  • Sampling based hybrid mode

CRaC Compared to ReadyNow in Azul Zing

ReadyNow is a feature of Azul Platform Prime to dramatically improve the warm-up behavior of the application by persisting the profiling information gathered during the run of the application so that subsequent runs do not have to learn again from scratch. ReadyNow records profiles and other information needed to compile methods directly at highest tier. It does not, by itself, store the compiled code. Another related feature CompileStashing can be used along with ReadyNow to store compiled code locally in a file and re-used.

However, in the CRaC image there is much more than the compiled code. There is the Java heap as well as other initialized structures and threads from the VM and the application. Of course the downside is that the CRaC image size is much larger.

Check Combining Azul Zing with ReadyNow and CRaC for more info.

Supported Platforms for Azul Zing with CRaC

Check the Operating Systems info in the Azul Prime documentation.

Implementation Differences between Azul Zulu and Azul Zing

New features get added first into Azul Zulu and in a second step into Azul Zing. As Azul Zing has a build based on OpenJDK, with additional improvements and features, it doesn’t support all features and configurations of CRaC. The table below highlights some of the most important differences.

Topic Azul Zulu Azul Zing

Supported platforms

  • Linux x86 64-bit

  • Linux ARM 64-bit

  • Development versions for Windows and macOS

  • Linux x86 64-bit

  • Linux ARM 64-bit

Supported versions

17, 21, 24, 25

17, 21

CRaC Engine

  • Linux: CRIU based and Warp

  • Windows and macOS: simulation engins

Warp only

Command-line Options

All documented options