什么是用于调查Java中无意识对象保留的好工具?

时间:2010-05-15 14:16:41

标签: java eclipse

我的多线程Java程序崩溃,因为它耗尽了堆空间而我认为不应该。假设罪魁祸首是无意识的对象保留,那么什么是一个很好的免费工具来调查哪些对象被无意保留?

我的IDE是Eclipse。

5 个答案:

答案 0 :(得分:4)

Eclipse MAT这样的工具将有助于找到贪吃的记忆猪,甚至还有一个内存泄漏探测器。

Visual VM的内存分析器如果需要更低级别,也可能会有所帮助。

答案 1 :(得分:4)

以下是您可以查看的开源工具列表:http://java-source.net/open-source/profilers。当然,JMap和JConsole也是可能的解决方案。

答案 2 :(得分:3)

我最后一次浏览免费的个人资料时,它们并不像现有的商业资讯一样好。

我建议进行评估

并投入资金购买您最喜欢的工具许可证。

一个好的分析器,与一个坏的分析器相比,可以很容易地为您节省一天的调试工作,并且可以支付许可证(以及为开发这些漂亮工具的人做得很好)。

这三个插件都插入到Eclipse中,允许您从当前项目直接从Eclipse开始分析,因此设置CLASSPATH没有繁琐的工作。

答案 3 :(得分:1)

Sun's VisualVM是免费的,但我是JProfiler的粉丝,这是一个商业应用,虽然你可以获得30天的试用。

答案 4 :(得分:0)

我将从JDK,jconsole和jmap附带的工具开始。 java.sun.com上有good article about JVM monitoring