image.png

常见的GC算法:
image.png
image.png
复制算法好处,没有内存碎片,但是会始终浪费一半幸存区的空间
最佳使用场景:对象存活度较低
image.png
缺点:两次扫描严重浪费时间,会产生内存碎片
优点:不需要额外空间
image.png
压缩:再次扫描,多了一次移动的成本

总结:
内存效率: 复制算法》标记清除》标记压缩(时间复杂度)
内存整齐度:复制算法=标记压缩》标记清除
内存利用率:标记压缩-标记清除》复制算法
结论:没有最好的算法,只有最合适的
分代收集算法:
新生代:存活率低,复制算法!
老年代:存活率高,区域大,标记清除n次(主要看内存碎片数量)+标记压缩混合实现


KKCarrot
1 声望0 粉丝