JRat is the Java Runtime Analysis Toolkit. Its purpose is to enable developers to better understand the runtime behavior of their Java programs. The term behavior includes, but is not limited to performance profiling.
Very easy to use. Useful output. Beware links on the download page and elsewhere on the JRat pages that direct you to download an alpha version from 2006 (1.4 Mb jar). It runs but generates no useful output (with Java 6). The beta from 2007 (2 Mb jar) generates the data you're looking for.
easy to use, good result