Tools for Java Heap Dump Analysis

What is the best (free/open source) tool that you use to analyse Java heap dumps?

Note: I’ve never done a heap analysis and wondering which tool would be easiest to get started.