Summary
Improve startup and warmup time by making optimized native code for an application instantly available when the HotSpot Java Virtual Machine starts. Achieve this by compiling application code to native code in a training run, storing the native code in the AOT cache for use in subsequent production runs. If the workload changes in production, regenerate native code dynamically for continued peak performance, providing the best of both ahead-of-time (AOT) and just-in-time (JIT) compilation.
Goals
Enable applications to achieve peak performance more quickly.
Enable applications to sustain peak performance even as workloads change.
Do not require any change to the code of applications, libraries, or frameworks.
Do not require any change to the configuration of HotSpot, beyond requesting the use of the AOT cache.
Continue to support the Serial, Parallel, G1, and ZGC garbage collectors.
Do not introduce new AOT workflows, but, rather, extend the existing AOT cache creation workflow.
Ensure that shifting from AOT-compiled code to JIT-compiled code is invisible to applications.
... continue reading