如何在内存中查找对象

时间:2011-09-06 15:44:09

标签: java

有没有办法找到特定对象仍在内存中?例如,我有一个名为JFrame的{​​{1}}。当我打电话给某个方法时,它会被处理掉。我想找到它仍然在记忆中或处置。我是java的新手。请帮帮我。

编辑:我想要做的是发现特定对象是否仍在内存中,如果它在内存中,我想调用一个方法,如果不是,则调用另一个方法。

3 个答案:

答案 0 :(得分:1)

我假设disposed清理对象隐藏的资源。

只要您有对它的引用,该对象仍然在内存中。根据处置的内容,您可以拥有一个“处置”的对象,并且仍然在内存中,因为您仍然可以参考它。

答案 1 :(得分:1)

我假设您要为调试而不是通过代码执行此操作。如果是这种情况,您想要的是转储堆内存并通过Eclipse Memory Analyzer等工具进行检查。

答案 2 :(得分:1)

这是一个糟糕的编程习惯,你永远不会这样做。要查看内存中的对象,您可以使用jvisualvm - 它自带Sun JDK。这提供了一个可视界面,用于在Java虚拟机上运行时查看有关Java应用程序的详细信息。