美文网首页
CMS的执行过程

CMS的执行过程

作者: 小动乾坤 | 来源:发表于2024-03-08 22:35 被阅读0次

初始标记(STW initial mark):这个过程从垃圾回收的"根对象"开始,只扫描到能够和"根对象"直接关联的对象,并作标记。所以这个过程虽然暂停了整个JVM,但是很快就完成了。

并发标记(Concurrent marking):这个阶段紧随初始标记阶段,在初始标记的基础上继续向下追溯标记。并发标记阶段,应用程序的线程和并发标记的线程并发执行,所以用户不会感受到停顿。

并发预清理(Concurrent precleaning):并发预清理阶段仍然是并发的。在这个阶段,虚拟机查找在执行并发标记阶段新进入老年代的对象(可能会有一些对象从新生代晋升到老年代, 或者有一些对象被分配到老年代)。通过重新扫描,减少下一个阶段"重新标记"的工作,因为下一个阶段会Stop The World。

重新标记(STW remark):这个阶段会暂停虚拟机,收集器线程扫描在CMS堆中剩余的对象。扫描从"跟对象"开始向下追溯,并处理对象关联。

并发清理(Concurrent sweeping):清理垃圾对象,这个阶段收集器线程和应用程序线程并发执行。

并发重置(Concurrent reset):这个阶段,重置CMS收集器的数据结构状态,等待下一次垃圾回收。

相关文章

  • G1GC

    执行过程和CMS类似,都是 1、初始标记;2、并发标记;3、最终标记;4、筛选回收 什么情况使用G1运行CMS或者...

  • 2.JVM系列-CMS垃圾收集器

    目录 一.背景 二.CMS垃圾收集器特性 三.CMS执行步骤 四.CMS日志解释(JDK1.8): 五.CMS参数...

  • java CMS垃圾回收日志

    文章目录一、CMS垃圾回收器介绍二、CMS JVM运行参数三、CMS收集器运行过程1、初始标记(CMS initi...

  • JVM CMS和G1执行过程比较

    CMS CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。由于...

  • JVM知识点更新

    CMS垃圾收集的过程 初始标记:在这个阶段,虚拟机需要停暂停正在执行的任务,标记一下GC roots能够直接关联到...

  • CMS之promotion failed&concurrent

    CMS并行GC收集器是大多数JAVA服务应用的最佳选择,然而, CMS并不是完美的,在使用CMS的过程中会产生2个...

  • CMS之promotion failed&concurrent

    CMS并行GC是大多数应用的最佳选择,然而, CMS并不是完美的,在使用CMS的过程中会产生2个最让人头痛的问题:...

  • JVM

    CMS Concurrent Mode Failure: 当CMS收集器运行过程中年老代留给用户程序的内存空间不足...

  • JVM垃圾回收器之CMS回收过程及优缺点

    JVM垃圾回收器之CMS回收过程及优缺点 今天给大家介绍一下CMS垃圾回收器。首先CMS是一款多线程+分段操作的一...

  • 垃圾回收

    如何查看当前JVM使用的垃圾回收器? 如何指定使用CMS回收? 如何打印回收日志? 垃圾回收过程 CMS垃圾回收的...

网友评论

      本文标题:CMS的执行过程

      本文链接:https://www.haomeiwen.com/subject/rmyyzdtx.html