如何选择垃圾收集器

如何选择垃圾收集器

    • 组合的选择
    • 新生代与老年代收集器的对应关系
    • JAVA SpringBoot微服务的生产部署和调优

组合的选择

  • 单CPU或小内存,单机程序
    -XX:+UseSerialGC
  • 多CPU,需要最大吞吐量,如后台计算型应用
    -XX:+UseParalellGC或者-XX:+UseParalellOldGC
  • 多CPU,追求低停顿时间,需快速响应如互联网应用
    -XX:+UseParNewGC或者-XX:+UseConcMarkSweepGC

新生代与老年代收集器的对应关系

参数 新生代垃圾收集器 新生代算法 老年代垃圾收集器 老年代算法
-XX:+UseSerialGC SerialGC 复制 SerialOldGC 标记整理
-XX:+UseParNewGC ParNewGC 复制 SerialOldGC 标记整理
-XX:+UseParallelGC Parallel[Scavenge] 复制 ParallelOldGC 标记整理
-XX:+UseConcMarkSweepGC ParNew 复制 CMS+SerialOld的收集器组合(Serial Old作为CMS出错的后备收集器) 标记清除
-XX:+UseG1GC G1(整体上采用标记-整理算法) 局部是通过复制算法,不会产生内存碎片

JAVA SpringBoot微服务的生产部署和调优

java -server -Xms1024m -Xmx1024m -XX:+UseG1GC -jar xxx.jar

你可能感兴趣的:(JVM,面试)