Solving Memory Leaks in the JVM

Deep Dive
Java Language

One of the more important aspects of the Java Virtual Machine (JVM) is it’s managed memory subsystem. It’s an amazing piece of technology in that it allows developers to allocate a seemingly infinite amount of memory. The reality is that under the covers, the JVM is working on reclaiming all memory that is no longer in use. If the JVM is unable to recover memory, our application will fail with a dreaded OutOfMemoryError.

This session will cover several common scenarios that can cause the JVM to fail with an OutOfMemoryError. We’ll explore tooling and methods that can be used to diagnose the cause of an OutOfMemoryError.

Finally, we’ll go toe to toe with apps suffer from an OutOfMemoryError for different reasons.

Topics that will be covered include;

  1. Overview of Java heap
  2. Allocations in Java heap
  3. GC basics with Mark and Sweep
  4. Normal life cycle of a Java object
  5. Common causes of OutOfMemoryError
  6. Anatomy of a memory leak
  7. Tools for detecting memory leaks

Memory Leaks

Kirk Pepperdine

Kirk has been working in high performance and distributed computing for nearly 20 years. Initially Kirk was architecting, developing, and tuning applications running on Cray and other high performance computing platforms. He now specialises in Java, where he works in all aspects of performance and tuning in each phase of a project life cycle. Kirk was recognised as a Java Champion in 2006 in recognition of his outstanding contributions to the Java community.

Talks by tracksTalks by session typesList of SpeakersSchedule