This document provides an overview of tools and techniques for analyzing Java heap dumps. It discusses how to generate heap dumps using Ctrl-Break, XX:+HeapDumpOnOutOfMemoryError, or jmap. Jmap can also provide heap summaries. JHat allows analyzing heap dumps visually. Eclipse MAT and JConsole can also analyze heap dumps. Jstack prints stack traces, and can detect deadlocks. Sample code shows how to generate heap dumps and cause deadlocks.