GC常用算法
1. 標(biāo)記清除(Mark-Sweep)

image.png

image.png
- 算法相對簡單
- 在存活對象較多的情況,下效率較高。
- 兩次掃描,第一次進(jìn)行標(biāo)記,第二次進(jìn)行清理,效率偏低。
- 容易產(chǎn)生碎片
2. 拷貝(Copying)

image.png

image.png
- 適用于存活對象較少的情況
- 只掃描一次,效率高,適合伊甸區(qū)
- 沒有碎片
- 移動(dòng)復(fù)制對象,需要調(diào)整對象引用
- 空間浪費(fèi)
3. 標(biāo)記壓縮(Mark-Compact)

image.png

image.png
- 不會產(chǎn)生碎片,方便對象分配
- 不會產(chǎn)生內(nèi)存減半
- 掃描兩次
- 需要移動(dòng)對象,效率偏低