通过MyEclipse打印GC日志
如下为测试代码:
public class ReferenceCountingGC {
public Object instance = null;
private static final int _1MB = 1024*1024;
private byte[] bigSize = new byte[2 * _1MB];
public static void testGC(){
ReferenceCountingGC obja =new ReferenceCountingGC();
ReferenceCountingGC objb = new ReferenceCountingGC();
obja.instance =objb;
objb.instance =obja;
obja = null;
objb = null;
System.gc();
}
public static void main(String[] args) {
testGC();
}
}
第一步:右键项目或文件——Debug As——Debug Configurations
第二步:双击Java Application——VM arguments中填写-verbose:gc——Debug。如下图:
控制台输出GC日志及分析
[GC 5396K->568K(124416K), 0.0034110 secs]
[Full GC 568K->472K(124416K), 0.0069853 secs]
[GC 5396K(年轻代垃圾回收前的大小)->568K(年轻代垃圾回收以后的大小)(124416K)(年轻代的总大小), 0.0034110 secs(回收时间)]
其他GC展现形式
-verbose:gc (开启打印垃圾回收日志)
-Xloggc:D:testgc.log (设置垃圾回收日志打印的文件,文件名称可以自定义)
-XX:+PrintGCTimeStamps (打印垃圾回收时间信息时的时间格式)
-XX:+PrintGCDetails (打印垃圾回收详情)
通过IntelliJ IDEA打印GC日志
由于个人目前技术能力有限不能提供IntelliJ IDEA的打印日志方法,暂留出来标题,后期进行完善。