A Glance At The Java Performance Toolbox
summary
Demo builds a two‑stage Docker image that uses jlink custom runtime (JDK 21) to shrink the image, runs a Spring Boot todo app under load, and shows memory climbing toward OOM. Diagnostics use native memory tracking via jcmd (baseline + diff), jmap/jcmd histograms, and JDK Flight Recorder recordings inspected with JDK Mission Control; the leak is traced to mutable HashMap keys that cause unbounded growth. Production streaming uses JFR streaming to Prometheus for long‑term ML forecasting and alerting.
AI-written summary · about
chapters (10)
- 0:00Introduction and agenda
- 1:36Containerizing Java apps
- 5:05Using jlink for custom images
- 8:28Live demo and memory stress
- 13:04Native memory tracking
- 19:47JVM statistics and tools
- 23:18Profiling with Flight Recorder
- 32:21Fixing the memory leak
- 34:09JFR streaming and monitoring
- 38:49AI in JVM monitoring
related talks
40mA Glance At The Java Performance Toolbox
44mA Glance At The Java Performance Toolbox
48mJava in Containers - Part Deux
47mLegal JVM Doping in Your Containers
01h 01mDistilling Java Containers for Kubernetes
49mJava and Containers Make it Awesome
42mContainers & Java: What I wish I have been told!
01h 28mThe dark art of performance tuning or how to become a performance hero ...
