jvisualvm

jvisualvm is a graphical tool for monitoring and profiling Java applications, and for performing analysis of heap dumps.