Conference50min
Production-Ready Java Containers: Smaller, Faster, Smarter
This session explores optimizing Java containers using tailored runtimes with jlink, CDS, AOT, JVM container awareness, memory tuning, and efficient image-building practices. Through progressive measurement, it examines trade-offs among size, startup, warmup, memory, throughput, observability, security, and maintainability to support informed, workload-specific engineering decisions.
talk.summaryAiDisclaimer
Albert AttardOracle
talkDetail.whenAndWhere
Thursday, October 8, 17:40-18:30
Room 3
Java runs exceptionally well in containers, but simply putting a JAR into a container image leaves a lot of optimization opportunities on the table.
In this session, we’ll explore practical techniques for building leaner and more efficient Java containers. We’ll look at using jlink to create tailored Java runtimes, techniques such as CDS and AOT to improve startup and warmup, JVM container awareness and memory configuration, and container-building practices that reduce image size and improve deployment.
But smaller isn’t always better. Every optimization comes with trade-offs involving startup time, memory consumption, throughput, observability, security, and maintainability.
Using a Java application as our starting point, we’ll progressively optimize its container and measure what actually changes. The goal is not to produce the smallest possible image, but to understand the tools available and make informed engineering decisions about what a better Java container means for your workload.
In this session, we’ll explore practical techniques for building leaner and more efficient Java containers. We’ll look at using jlink to create tailored Java runtimes, techniques such as CDS and AOT to improve startup and warmup, JVM container awareness and memory configuration, and container-building practices that reduce image size and improve deployment.
But smaller isn’t always better. Every optimization comes with trade-offs involving startup time, memory consumption, throughput, observability, security, and maintainability.
Using a Java application as our starting point, we’ll progressively optimize its container and measure what actually changes. The goal is not to produce the smallest possible image, but to understand the tools available and make informed engineering decisions about what a better Java container means for your workload.
Albert Attard
I’m a passionate Java developer who loves building clean, efficient, and scalable solutions. I enjoy exploring new technologies, continuously learning, and improving my craft. Whether working on backend systems or diving into new frameworks, I strive to write code that makes a real impact. When I'm not coding, you’ll find me experimenting with new ideas and expanding my knowledge.