A live-coding conference talk covering multiple Java memory leak patterns and how to diagnose them. Topics include: configuring JVM flags to capture heap dumps on OOM, using VisualVM/IntelliJ/MAT for heap analysis, shallow vs retained size, high-cardinality Micrometer metrics causing leaks, Hibernate first-level cache accumulation during streaming queries, DIY caches without eviction, broken cache keys due to missing equals/hashCode or mutable keys, inner class hidden references, ThreadLocal leaks in thread pools, BigDecimal parsing of UUID-like strings causing OOM, ArrayList.subList() memory retention, and unbounded CompletableFuture queues. Practical fixes include entity detach, Caffeine cache, try-finally ThreadLocal cleanup, and back-pressure strategies.
Sort: