Improve Startup Performance and Reduce Footprint with Application Class Data Sharing
summary
AppCDS (open-sourced since JDK 10) creates a memory‑mapped archive of class metadata and selected Java objects to cut startup and RAM; JDK 12 ships a JDK 12 default AppCDS archive in OpenJDK EA so no dump step is needed. Measured wins: ~45–50% faster empty-main startup, ~30–32% for FN functions, ~17% for a Java HTTP server, ~5% for Spring Boot. Custom archives require a trial run, dump and rerun; archived object handling exposes closed/open archive heap regions and supports G1 on 64-bit Linux, yielding real sharing and footprint reduction often exceeding 10% savings.
AI-written summary · about
chapters (11)
- 0:00Start
- 7:27Class Data Sharing Architecture
- 7:57Default CDS Archive - JEP 341
- 9:37JDK 12 Startup Time With Default CDS Archive
- 13:52JDK 11
- 16:07Module Support
- 16:56Module Path Supporting Matrix
- 17:34Command Line Examples Create a shared archive using module path
- 20:49Archive Targeted Java Object Subgraphs
- 29:27Hybrid Archiving With Layers
- 37:12Using AppCDS + AppCDS - archive system classes application classes
related talks
46mHow Class Data Sharing Can Speed up Your Jakarta EE Application Startup
42mTechniques for a faster JVM start-up
47mNew Features of JDK 13
46mJava in a World of Containers
47mLegal JVM Doping in Your Containers
35mJava in a world of containers
45mFour Approaches to Reducing Java Startup Time: AppCDS, Native Image, Project Leyden, CRaC
52mTechniques for a faster JVM start-up
