2015-12-29 39 views
0

在下面的代码中,将有一个对象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; 
    } 
} 
+0

你应该注意到,垃圾收集器只有不工作时,它需要(或尽可能晚地)和在这种情况下,它不需要,所以没有什么可看的。 –

+0

谢谢,但它的任何方式来找到什么时候想象它? –

+0

唯一能够告诉你它正在做什么的工具是'jstat'这将允许你看到从伊甸园复制到幸存者的对象并且终身受雇。但是,它需要大规模。即您不仅可以看到GC需要几秒钟,即数百万个对象。一般来说,你只需要担心这些大规模的细节。 –

回答

1

我正在使用JVisualVM视觉GC插件,让跨代(杨/ Survivir /终身)对象的良好的可视化。见here如何安装它

这是最好的工具,我发现,截至目前,太多自带的JDK

+0

飞行记录器也是JDK 8自带的优秀工具。 –

+0

很高兴知道。谢谢。将探讨这一点。 –

+0

飞行记录器对于剖析CPU和内存的开销较低,并且可以在安全点之间采样以获得更准确的结果。 http://www.rationaljava.com/2015/03/java-flight-recorder-since-jdk-18040.html –