GC常用算法 1. 标记清除(Mark-Sweep) image.png image.png 算法相对简单 在存活对象较多的情况,下效率较高。 两次扫描,第一次进行标记,第二次进行清理,效率偏低。 容易产生碎片 2. 拷贝(Copying) image.png image.png 适用于存活对象较少的情况 只扫描一次,效率高,适合伊甸区 没有碎片 移动复制对象,需要调整对象引用 空间浪费 3. 标记压缩(Mark-Compact) image.png image.png 不会产生碎片,方便对象分配 不会产生内存减半 扫描两次 需要移动对象,效率偏低