Skip to content
Artwork for Inside Java
Inside Java · Thursday · 1 hr 11 min

"AOT Caching - Netflix' Practice vs OpenJDK's Theory" [I/O]

Java projects that want to reduce their launch times need to look into Java's new ahead-of-time capabilities. A training run is used to populate a cache that, in production, allows the JVM to short-circuit many operations, like class loading and linking, profile gathering, and - probably soon - JIT compilation. To get the most out this feature, a good training run is essential. Netflix approach is pretty much the ideal one: use a canary deployment of a new version to collect training data and create the cache for the remaining deployments from that. But, from time scales to checkpointing, from managing to inspecting cache files, there are a number of details to consider. In this "Input/Output" episode of the Inside Java Podcast, recorded during JavaOne 2026, Nicolai Parlog talks to Martin Chalupa, Senior Performance Engineer at Netflix and John Rose, JVM Architect at Oracle and Lead of OpenJDK's Project Leyden. "Input/Output" is our new show, where we talk to people outside of OpenJDK to bring you their perspectives and insights into what's happening in the Java ecosystem. This special episode comes with an OpenJDK architect to boot. Show notes: JDK 27: https://jdk.java.net/27 Project Leyden: https://openjdk.org/projects/leyden/ Martin's talk at JavaOne 2026: https://www.youtube.com/watch?v=4kEh8hxAP4U

0:00-1:11:17

transcript

No transcript — this publisher did not publish one.

show notes

Java projects that want to reduce their launch times need to look into Java's new ahead-of-time capabilities. A training run is used to populate a cache that, in production, allows the JVM to short-circuit many operations, like class loading and linking, profile gathering, and - probably soon - JIT compilation. To get the most out this feature, a good training run is essential. Netflix approach is pretty much the ideal one: use a canary deployment of a new version to collect training data and create the cache for the remaining deployments from that. But, from time scales to checkpointing, from managing to inspecting cache files, there are a number of details to consider.

In this "Input/Output" episode of the Inside Java Podcast, recorded during JavaOne 2026, Nicolai Parlog talks to Martin Chalupa, Senior Performance Engineer at Netflix and John Rose, JVM Architect at Oracle and Lead of OpenJDK's Project Leyden.

"Input/Output" is our new show, where we talk to people outside of OpenJDK to bring you their perspectives and insights into what's happening in the Java ecosystem. This special episode comes with an OpenJDK architect to boot.

Show notes:

links3