GC 垃圾回收算法
垃圾回收(Garbage Collection,简称 GC)是自动内存管理的核心机制。本文将深入介绍 GC 的评价标准以及经典的标记-清除算法。
评价标准
评价 GC 算法的性能时,我们采用以下 4 个标准:
| 标准 | 说明 |
|---|---|
| 吞吐量 | 单位时间内的处理能力,即 GC 不占用的时间比例 |
| 最大暂停时间 | GC 执行时程序暂停的最长时间,影响用户体验 |
| 堆使用效率 | 堆空间的有效利用率,避免内存碎片 |
| 访问的局部性 | 相关对象在内存中的邻近程度,影响 CPU 缓存命中率 |
GC 标记 - 清除算法(Mark Sweep GC)
GC 标记 - 清除算法由标记阶段和清除阶段构成。标记阶段是把所有活动对象都做上标记的阶段。清除阶段是把那些没有标记的对象,也就是非活动对象回收的阶段。通过这两个阶段,就可以令不能利用的内存空间重新得到利用。

