A Healthy diet for your Java application
summary
Shows specific root causes (mutable static fields, broken equals/hashCode producing random hashes, non‑static inner classes holding outer references, forgotten ThreadLocals) and the tools used to find them: VisualVM, Eclipse Memory Analyzer, EqualsVerifier, Java Object Layout and Flight Recorder. Demonstrates fixes (remove mutable statics, make keys immutable, static inner classes, unset ThreadLocals, add unit checks) and infrastructure changes; result: an OpenJDK analysis moves from 3 GB to 1.2 GB RAM, making the fix concrete and verifiable.
AI-written summary · about
chapters (14)
- 0:00Introduction and speaker intro
- 2:06Why memory leaks matter
- 5:35Detecting memory problems
- 8:28Measuring symptoms and data
- 10:35Analyzing heap dumps
- 14:49Static fields and garbage collection
- 18:46HashMap equals and hashCode issues
- 23:43Inner classes and memory leaks
- 28:07Thread locals and leaks
- 29:51Memory leaks vs footprint
- 34:29Preventing future leaks
- 37:22Healthy diet guidelines
- 39:53Outcome and final tips
- 42:54Q&A
related talks
51mA Healthy diet for your Java application
21mMemory Efficient Java
38mMemory Efficient Java
56mJava Performance Analysis
40mSave Java memory
43mA Glance At The Java Performance Toolbox
01h 28mThe dark art of performance tuning or how to become a performance hero ...
44mA Glance At The Java Performance Toolbox
