本文重点
前面的课程中我们介绍了目前JVM中主流的垃圾回收器,不同的回收器会有不同的组合,其中1.8版本的jdk中,默认使用的是Parallel Scavenge+Parallel Old,也就是说新生代使用Parallel Scavenge,然后老年代使用Parallel Old,这是默认的,当然我们也可以通过参数的方式进行指定,本文就介绍一下常见垃圾回收器组合参数设定。
参数
-XX:+UseSerialGC = Serial + Serial Old
新生代和老年代都使用串行化的方式,这适用于小型程序
-XX:+UseParNewGC = ParNew + SerialOld
这个组合已经很少用(在某些版本中已经废弃)
-XX:+UseConc(urrent)MarkSweepGC = ParNew + CMS + Serial Old
新生代使用ParNew,然后老年代使用CMS,当产生特别多的内存碎片的时候使用串行化的方式。
-XX:+UseParallelGC = Parallel Scavenge + Parallel Old (1.8默认)
-XX:+UseParallelOldGC = Parallel Scavenge + Parallel Old
这两个参数可以产生同样的效果,无论是新生代还是老年代都使用并行化的方式
-XX:+UseG1GC = G1
使用G1垃圾回收器