CMS收集器:并发标记清除详解

核心特点 CMS(Concurrent Mark Sweep) - 并发标记清除: 目标:最短停顿时间 老年代收集器 并发执行:大部分时间与应用线程并发 算法:标记-清除 四个阶段 1️⃣ 初始标记(Initial Mark)【STW】 工作:标记GC Roots直接引用的对象 特点:Stop The World,但速度很快 应用线程: ████████ [暂停] ████████████████ GC线程: ▓ (极短) 2️⃣ 并发标记(Concurrent Mark) 工作:从GC Roots开始遍历整个对象图 特点:与应用线程并发执行,耗时最长 应用线程: ████████████████████████████ GC线程: ░░░░░░░░░░░░░░░░░░░░░░░░ (并发执行) 3️⃣ 重新标记(Remark)【STW】 工作:修正并发标记期间变化的对象 特点:Stop The World,时间略长于初始标记 应用线程: ████████████ [暂停] ████████ GC线程: ▓▓▓ 4️⃣ 并发清除(Concurrent Sweep) 工作:清除标记为死亡的对象 特点:与应用线程并发执行 应用线程: ████████████████████████████ GC线程: ░░░░░░░░░░░░░░░░░░░░░░░░ 完整流程图 ┌──────────────┐ │ 初始标记(STW) │ ← 极短停顿 └──────┬───────┘ ↓ ┌──────────────┐ │ 并发标记 │ ← 耗时最长,并发 └──────┬───────┘ ↓ ┌──────────────┐ │ 重新标记(STW) │ ← 短停顿 └──────┬───────┘ ↓ ┌──────────────┐ │ 并发清除 │ ← 并发 └──────────────┘ 优点 低停顿:大部分时间并发执行 适合互联网应用:对响应时间敏感的场景 缺点 1️⃣ CPU资源敏感 并发阶段占用CPU资源,影响应用吞吐量。 ...

2025-11-20 · maneng

如约数科科技工作室

浙ICP备2025203501号

👀 本站总访问量 ...| 👤 访客数 ...| 📅 今日访问 ...