怎么看服务器默认的垃圾收集器是哪个?生产上如何配置垃圾收集器? 谈谈你对垃圾收集器的理解

怎么查看默认的垃圾收集器是哪个

Java -XX:+PrintCommandLineFlags

在这里插入图片描述

Java 的 GC 回收的类型主要有:

  1. UseSerialGC,UseParallelGC,UseConcMarkSweepGC,UseParNewGC,UseParallelOldGC,UseG1GC

  2. Java 8 以后基本不使用 Serial Old

在这里插入图片描述

Server/Client 模式分别是什么意思
  1. 最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升

  2. 当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器,
    而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器,C2比C1编译器编译的相对彻底,服务起来之后,性能更高

生产上如何配置垃圾回收器

采用分代回收

年轻代

  1. 串行GC(Serial)/(Serial Copying)
  2. 并行GC(ParNew)
  3. 并行回收GC(Parallel)/(Parallel Scavenge)

老年代

  1. 串行GC(Serial Old)/(Serial MSC)
  2. 并行GC(Parallel Old)/(Parallel MSC)
  3. 并发标记清楚GC(CMS)

如何选择垃圾收集器

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45844836/article/details/112441524