NOTE

7.13 4.jvm参数选用具体的垃圾回收器

1. 新生代与老年代的匹配 2. JVM参数 -XX:+UseSerialGC 新生代使用Serial(复制算法),老年代使用Serial Old(标记整理) -XX:+UseParNewGC 新生代使用ParNew(复制算法),老年代使用Serial Old(标记整理) -XX:UseParall

Java创建于 更新于 historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 新生代与老年代的匹配

2. JVM参数

-XX:+UseSerialGC 新生代使用Serial(复制算法),老年代使用Serial Old(标记整理)

-XX:+UseParNewGC 新生代使用ParNew(复制算法),老年代使用Serial Old(标记整理)

-XX:UseParallelGC或者-XX:UseParallelOldGC 新生代使用Parallel Scavenge(复制,关注吞吐量),老年代使用Parallel Old(标记整理)

-XX:+UseConcMarkSweepGC 新生代使用ParNew(复制算法),老年代使用CMS(标记清除)+Serial Old后备(标记整理)的组合

-XX:+UseG1GC 整体上使用标记整理,局部使用复制算法

3. 如何选择

  • 单cpu或者小内存,如单机程序
-XX:+UseSerialGC
  • 多cpu,需要最大吞吐量,如后台计算应用(大数据领域)
-XX:+UseParallelGC
-XX:+UseParallelOldGC
  • 多cpu,需要低停顿时间,如互联网应用
-XX:+UseConcMarkSweepGC
-XX:+ParNewGC