是否有与C#Control IsDisposed等效的Java组件?

是否有与C#Control IsDisposed等效的Java组件?,java,memory-leaks,hprof,Java,Memory Leaks,Hprof,我正在查看一些hprof,试图找到内存泄漏 我的代码保存了对我构建的目标应用程序中Java组件的引用。 使用EclipseMat,我可以看到这些组件中的一些仅由我的代码引用。我想确定目标应用程序已经完成了,也就是说,它打算对它们进行垃圾收集 在C#中有一个值,如果为true,则基本上意味着应用程序是使用该控件完成的 在Java中是否有一个等价物,可以在EclipseMat或任何其他hprof分析器中看到,它将最终告诉您是否有一个组件需要垃圾收集 我更喜欢使用属性来标识泄漏的组件,因为使用此条件查

我正在查看一些hprof,试图找到内存泄漏

我的代码保存了对我构建的目标应用程序中Java组件的引用。 使用EclipseMat,我可以看到这些组件中的一些仅由我的代码引用。我想确定目标应用程序已经完成了,也就是说,它打算对它们进行垃圾收集

在C#中有一个值,如果为true,则基本上意味着应用程序是使用该控件完成的

在Java中是否有一个等价物,可以在EclipseMat或任何其他hprof分析器中看到,它将最终告诉您是否有一个组件需要垃圾收集

我更喜欢使用属性来标识泄漏的组件,因为使用此条件查询堆比“每个GC根路径仅以我的代码结尾的组件”更容易


谢谢

查询堆非常非常昂贵。这意味着检查堆中的每个对象以查看引用的对象


在Java中可以做的是保存一个WeakReference,在垃圾收集之后,它将消失。如果保留了它,在某些地方仍然有它的用途。

我不相信Java中有IsDisposed的等价物。如果有的话,我会同意堆查询需要很长时间,但在运行过程中总会有很多其他问题需要研究。接受这个答案,因为这是我最终解决问题的方式。