There are lots of free and proprietary tools to do the same. You can use Memory Analyzer project done by SAP. It lets you find memory leaks against in-memory objects via simple SQL statements.
Also, you can use JHAT (Java Heap Analysis tool) command line tool to examine the memory. It lets you examine heap memory via histogram and can be of good help.
Also, you can go for HeapWalker from Netbeans or Visual VM.
Also, Eclipse has Eclipse memory analyzer which is a freeware and can handle good size with dump and provides a fair deal of memory analysis.