14 lines
615 B
Markdown
14 lines
615 B
Markdown
Concurrent Mark Sweep
|
|
以获取最短回收停顿内容为目标的收集器
|
|
基于[[分代收集理论#标记清除算法]]实现
|
|
执行步骤:
|
|
1. 初始标记
|
|
2. 并发标记
|
|
3. 重新标记
|
|
4. 并发清除
|
|
1,3需要**Stop the World**,初始标记标记GC Roots直接关联对象,并发标记通过GC Roots的关联对象开始遍历,重新标记则修正并发标记时程序运行改变的那一部分标记记录,最后清理删除标记死亡的对象
|
|
![[Pasted image 20230422171417.png]]
|
|
**缺点**
|
|
1. 对处理器资源敏感(增量式并发收集器)
|
|
2. 无法清理浮动垃圾
|
|
3. 产生大量内存碎片 |