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

大纲

image-1662988851498

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

image-1662988868023

默认的垃圾收集器有哪些?(其实是7种,其中UseOldSerialGC被废弃了,源码中没有了)

image-1662988886270

垃圾收集器

image-1662988923303
image-1662988930755

  • 部分参数预先说明
    image-1662988946734
  • Server/Client模式分别是什么意思
    image-1662988960457
  • 新生代
    image-1662988978437
    • 串行GC(Serial)/(Serial Copying)
      image-1662988999076
    • 并行GC(ParNew)
      image-1662989027440
    • 并行回收GC(Parallel)/(Parallel Scavenge)
      image-1662989057075
  • 老年代
    image-1662989082781
    • 串行GC(Serial Old)/(Serial MSC)
      image-1662989097526
    • 并行GC(Parallel Old)/(Parallel MSC)
      image-1662989111627
    • 并发标记清除GC(CMS)
      image-1662989143776
      • 4步过程
        image-1662989161846
        • 初识标记(CMS initial mark)
          image-1662989183436
        • 并发标记(CMS consurrent mark)和用户线程一起
          image-1662989196600
        • 重新标记(CMS remark)
          image-1662989208769
        • 并发清除(CMS concurrent sweep)和用户线程一起
          image-1662989222799
      • 四步概述
        image-1662989251132
      • 优缺点
          • 并发收集低停顿
          • 并发执行,对CPU资源压力大
            image-1662989299788
          • 采用的标记清除算法会导致大量碎片
            image-1662989312217
  • 垃圾收集器配置代码总结
    • 底层代码
      image-1662989434957
    • 实际代码
      image-1662989452721
      image-1662989462134

如何选择垃圾收集器

image-1662989488346

最近的文章

8、G1垃圾收集器

大纲以前收集器特点G1是什么特点底层原理Region区域化垃圾收集器回收步骤4步过程case案例常用配置参数(了解)-XX:+UseG1GC-XX:G1HeapRegionSize=n:设置的G1区域的大小。值是2的幂,范围是1MB到32MB。目标是根据最小的Java堆大小划分出约2048个区域。-…

继续阅读
更早的文章

6、GC垃圾回收算法和垃圾收集器的关系?分别是什么?请你谈谈

大纲4种主要垃圾收集器串行垃圾回收器它为单线程环境设计且只使用一个线程进行垃圾回收,会暂停所有的用户线程。所以不适合服务器环境并行垃圾回收器多个垃圾手机线程并行工作,此时用户线程是暂停的,适用于科学计算/大数据处理首台处理等弱交互场景并发垃圾回收器用户线程和垃圾收集线程同时执行(不一定是并行,可能是…

继续阅读