Java visualVM内存泄漏

Java visualVM内存泄漏,java,Java,当使用visualVM检测内存泄漏时,它允许我们查看如下所述的实例视图: “实例”视图显示选定类的对象实例。从“实例”窗格中选择实例时,VisualVM会在相应窗格中显示该类的字段和对该类的引用。在“引用”窗格中,您可以右键单击某个项目并选择“显示最近的GC根”以显示最近的垃圾收集根对象 有人能告诉我最近的垃圾收集根对象是什么,以及如何利用这些信息来帮助识别泄漏点吗。谢谢 您可能会发现它很有用,特别是它将GC根目录列为: 堆栈上的临时变量(任何线程的) 静态变量(来自任何类) 来自JNI本机代

当使用visualVM检测内存泄漏时,它允许我们查看如下所述的实例视图:

“实例”视图显示选定类的对象实例。从“实例”窗格中选择实例时,VisualVM会在相应窗格中显示该类的字段和对该类的引用。在“引用”窗格中,您可以右键单击某个项目并选择“显示最近的GC根”以显示最近的垃圾收集根对象

有人能告诉我最近的垃圾收集根对象是什么,以及如何利用这些信息来帮助识别泄漏点吗。谢谢

您可能会发现它很有用,特别是它将GC根目录列为:

  • 堆栈上的临时变量(任何线程的)
  • 静态变量(来自任何类)
  • 来自JNI本机代码的特殊引用

换句话说,GC根是变量,可以通过根持有对另一个对象的引用来防止另一个对象被gcd。

GC根是静态或局部变量中持有的引用。根目录中的引用防止被引用对象被垃圾收集


在VisualVM中,您可以使用“显示最近的GC根目录”功能来帮助您跟踪对您认为应该进行垃圾收集的对象的引用。

这些链接在哪里仍然可用?它们在这里被破坏了(指向Sun网站)。谢谢