JVMs in Containers, Towards a Perfect Symbiosis!
summary
Demos show concrete wins: using jlink to create a minimal runtime cuts a full JDK image from ~316 MB to under ~50 MB (down to ~34 MB with compression); Debian OpenJDK builds with debug symbols can swell to ~500+ MB so strip them or choose base images carefully. CDS (AppClassDataSharing) reduces cold JVM startup from ~196 ms to ~131 ms (~66%) in a 42-run test. GraalVM native-image produces tiny, AOT executables with blazing startup (currently Java 8 support, Java 11 upcoming). Tools used: Docker, FN, jlink, CDS, GraalVM, Project Portola.
AI-written summary · about
chapters (13)
- 0:00Intro
- 1:48Container vs. VM
- 3:31JVM Container Tooling
- 4:55JVM in Containers - Towards a Symbiosis
- 9:17Stack of Layers
- 10:47Java Runtime Image
- 17:10Operating System
- 25:21Startup Time
- 26:46Class Data Sharing
- 31:14Application CDS
- 37:19Container Awareness
- 37:53Ergonomics
- 41:43JVMs in Containers - Symbiosis
related talks
46mJava in a World of Containers
48mJava in Containers - Part Deux
49mJava and Containers Make it Awesome
35mJava in a world of containers
47mLegal JVM Doping in Your Containers
31mFast and Distroless Java in Containers: the Recipe!
42mJava in the Cloud with GraalVM
56mBeyond the Container: Compact and Fast Images With and Without Native Image
