通过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的打印日志方法,暂留出来标题,后期进行完善。