Jvm垃圾收集器系列之CMS收集器(个人见解仅供参考)

本文详细介绍了CMS收集器在JavaHotSpotVM中的作用,包括其目标、工作阶段(初始标记、并发标记、重新标记和并发清理)、优点(低延迟、多核利用、避免碎片化)以及缺点(浮动垃圾、内存碎片和并发清理问题)。同时,还讲解了如何配置CMS收集器。
摘要由CSDN通过智能技术生成
  1. :什么是CMS收集器?
    :CMS(Concurrent Mark Sweep)收集器是Java HotSpot虚拟机中的一种垃圾收集器,主要用于实现低延迟的垃圾回收。

  1. :CMS收集器的主要目标是什么?
    :CMS收集器的主要目标是尽可能减少垃圾回收对应用程序的暂停时间,从而实现低延迟的垃圾回收。

  1. :CMS收集器的工作过程包括哪些阶段?
    :CMS收集器的工作过程包括四个阶段,分别是初始标记、并发标记、重新标记和并发清理。

  1. :什么是初始标记阶段?
    :初始标记阶段是CMS收集器的第一个阶段,它主要标记出所有存活的对象,这个阶段是单线程的,并且会暂停应用程序的运行。

  1. :什么是并发标记阶段?
    :并发标记阶段是CMS收集器的第二个阶段,它主要通过从根节点开始进行可达性分析,找出所有存活的对象,这个阶段是并发的,不会暂停应用程序的运行。

  1. :什么是重新标记阶段?
    :重新标记阶段是CMS收集器的第三个阶段,它主要修正并发标记阶段中可能出现的错误,这个阶段也是并发的,不会暂停应用程序的运行。

  1. :什么是并发清理阶段?
    :并发清理阶段是CMS收集器的最后一个阶段,它主要回收未被标记的对象,这个阶段也是并发的,不会暂停应用程序的运行。

  1. :CMS收集器的优点是什么?
    :CMS收集器的优点包括能够实现低延迟的垃圾回收、能够充分利用多核CPU的并行处理能力、能够避免老年代的碎片化等。

  1. :CMS收集器的缺点是什么?
    :CMS收集器的缺点包括无法处理浮动垃圾、可能导致内存碎片化、可能产生并发清除失败等问题。

  1. :如何配置CMS收集器?
要配置CMS收集器,需要在JVM参数中添加以下参数:
-XX:+UseConcMarkSweepGC 
-XX:+UseParNewGC

其中:
-XX:+UseConcMarkSweepGC参数用于启用CMS收集器,
-XX:+UseParNewGC参数用于启用ParNew收集器作为CMS收集器的辅助收集器。

  • 23
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小阳小朋友

随便吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值