My multithreaded Java program crashes because it runs out of heap space and I don’t think it should. Assuming the culprit is unintentional object retention, what’s a good free tool to investigate what objects are being unintentionally retained?
My IDE is Eclipse.
Here’s a list of open source tools you can look at: http://java-source.net/open-source/profilers . Of course, JMap and JConsole are also possible solutions.