正所谓不关注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,用来代替之前的永久代。