【问题标题】:Visualization of the Garbage Collector垃圾收集器的可视化
【发布时间】:2015-12-29 17:05:09
【问题描述】:

在下面的代码中,将有一个对象s2 符合垃圾回收条件。有什么方法可以可视化 Netbeans 8.0 中垃圾收集器的工作吗?配置文件/调试/监视/插件?

class Student {
       String name;
       int age;
    }

public class Test_Garbage {
    public static void main(String[] args) {
     Student s1 = new Student();
     Student s2 = new Student();
     Student s3 = new Student();
        s1 = s3;
        s3 = s2;
        s2 = null;
    }
}

【问题讨论】:

  • 您应该注意,垃圾收集器仅在需要时(或尽可能晚)才工作,在这种情况下,它不需要,所以什么都看不到。
  • 谢谢,但是有什么办法可以找到可视化的吗?
  • jstat 可以让您看到对象正在从 Eden 复制到 Survivor 和 tenured。但是,它必须是大规模的。也就是说,你不能只看到 GC 需要几秒钟,即数百万个对象。一般来说,您只需要在非常大的范围内担心这些细节。

标签: java object null garbage-collection profiler


【解决方案1】:

我在 JVisualVM 中使用 Visual GC 插件,它可以跨代(年轻/幸存者/终身)提供良好的对象可视化。安装方法见here

这是我目前发现的最好的工具,jdk 也自带

【讨论】:

  • Flight Recorder 也是 JDK 8 自带的优秀工具。
  • 很高兴知道这一点。谢谢。将对此进行探索。
  • Flight Recorder 用于分析 CPU 和内存的开销较低,并且可以在安全点之间进行采样以获得更准确的结果。 rationaljava.com/2015/03/…
猜你喜欢
  • 2018-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 2013-04-01
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多