美文网首页
G1的执行过程

G1的执行过程

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

标记阶段:首先是初始标记(Initial-Mark),这个阶段也是停顿的(stop-the-word),并且会稍带触发一次yong GC。

并发标记:这个过程在整个堆中进行,并且和应用程序并发运行。并发标记过程可能被yong GC中断。在并发标记阶段,如果发现区域对象中的所有对象都是垃圾,那个这个区域会被立即回收(图中打X)。同时,并发标记过程中,每个区域的对象活性(区域中存活对象的比例)被计算。

再标记:这个阶段是用来补充收集并发标记阶段产新的新垃圾。与之不同的是,G1中采用了更快的算法:SATB。

清理阶段:选择活性低的区域(同时考虑停顿时间),等待下次yong GC一起收集,这个过程也会有停顿(STW)。

回收/完成:新的yong GC清理被计算好的区域。但是有一些区域还是可能存在垃圾对象,可能是这些区域中对象活性较高,回收不划算,也肯能是为了迎合用户设置的时间,不得不舍弃一些区域的收集。

相关文章

  • 3.JVM系列-G1垃圾收集器

    目录 一、背景 二、G1垃圾收集器特性 三、G1执行步骤 四、G1基本参数 四、G1日志解释 六、基本原理 七、...

  • G1GC

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

  • JVM CMS和G1执行过程比较

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

  • Java基础-JVM

    JVM的垃圾回收过程,以及相应的CMS和G1的算法。 CMS和G1的比较,以及G1的缺点,S0、S1要解决什么样的...

  • JVM七大垃圾回收器之 G1

    G1回收过程:年轻代GC 扫描根根是指static变量指向的对象,正在执行的方法调用链条上的局部变量等。根引用连同...

  • 通过源码学习G1GC —— Concurrent Cycle

    并行执行阶段的逻辑封装在 ConcurrentMarkThread 中,该线程对应 G1 Main Marker ...

  • jvm 优化篇-(7)-G1回收过程(-XX:MaxGCPaus

    1、G1垃圾回收♻️过程 1.1、触发混合回收♻️条件: -XX:InitiatingHeapOccupancy...

  • 执行过程

    想要极端的成就,必付出极端的努力,成为极端的人格。 人与人核心的差别是觉悟。 为了改变一些习惯,我对生活方式下手了...

  • G1详情解读

    G1(Garbage First) 1. G1的由来 Garbage First 简称G1,是Java提出的最...

  • JVM源码分析系列

    JVM G1算法系列 G1垃圾收集器介绍 G1垃圾收集器之RSet G1垃圾收集器之SATB G1垃圾收集器之对象...

网友评论

      本文标题:G1的执行过程

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