垃圾回收算法
- 标记清除算法
- 复制算法
- 标记整理算法
标记清除算法(不常用)
标记清除算法,是将垃圾回收分为2个阶段:标记和清除
- 根据可达性分析算法将得到的垃圾进行标记
- 对这些标记为可回收的内容进行垃圾回收
标记整理算法
标记整理算法和标记清除算法一样,只是多了一步,将对象移动位置
(效率上有一定影响,但解决了标记清除算法的碎片化问题)
复制算法
将内存分为两个大小相等区域,标记阶段和之前的算法是类似的,也是通过可达性分析算法标记存活的对象;然后将存活的对象复制到另一块内存区域。复制完后,清理这块内存。
优点:
- 在立即对象多的情况下,效率较高
- 清理后,内存无碎片
缺点:
- 被分为了2块内存空间,同一时刻,只能使用一半,内存使用率较低