有没有办法找到特定对象仍在内存中?例如,我有一个名为JFrame
的{{1}}。当我打电话给某个方法时,它会被处理掉。我想找到它仍然在记忆中或处置。我是java的新手。请帮帮我。
编辑:我想要做的是发现特定对象是否仍在内存中,如果它在内存中,我想调用一个方法,如果不是,则调用另一个方法。
答案 0 :(得分:1)
我假设disposed
清理对象隐藏的资源。
只要您有对它的引用,该对象仍然在内存中。根据处置的内容,您可以拥有一个“处置”的对象,并且仍然在内存中,因为您仍然可以参考它。
答案 1 :(得分:1)
我假设您要为调试而不是通过代码执行此操作。如果是这种情况,您想要的是转储堆内存并通过Eclipse Memory Analyzer等工具进行检查。
答案 2 :(得分:1)
这是一个糟糕的编程习惯,你永远不会这样做。要查看内存中的对象,您可以使用jvisualvm - 它自带Sun JDK。这提供了一个可视界面,用于在Java虚拟机上运行时查看有关Java应用程序的详细信息。