正所谓不关注GC的程序员不是一只好的CRUD的程序猿。
那怎么看这个GC信息呢?
如果你用的是IDEA,在VM options里面加上参数参数即可:-XX:+PrintGCDetails

ok,我们来运行一个项目看看。

我们拿出一条GC信息来看看。
[GC (Allocation Failure) [PSYoungGen: 41826K->1068K(42496K)] 96717K->55959K(186880K), 0.0024781 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
显然,从PSYoungGen我们可以看出来这是一次新生代的GC,minorGC。那么其它参数是什么意思呢?
这里借用博主:yxc135博客中的两张张图:

fullGC如下:

ok,当我程序运行完了之后,那么我的JVM就需要进行全盘的GC,它会输出如下GC日志。

我目前用的是JDK1.8,从这里我们就可以看出来,新生代用的是PS收集器,老年代用的是ParOld,除此之外,这里出现了metaspare,用来代替之前的永久代。
本文解析了JVM GC日志中的关键信息,通过实例说明如何理解新生代GC(Minor GC)和Full GC,以及如何在IDEA中配置查看GC详情。


被折叠的 条评论
为什么被折叠?



