Java 底层知识 --- 回收算法
谈谈你了解的垃圾回收算法
一、标记清除算法(Mark and Sweep)
1、标记 —- 从根集合进行扫描,对存活的对象进行标记
2、清除 —- 对堆内存从头到尾进行线性遍历,回收不可达对象内存
缺点:碎片化
二、复制算法(Copying)
1、分为对象面和空闲面
2、对象在对象面上创建
3、存活的对象被从对象面复制到空闲面
4、将对象面所有对象内存清除
三、标记整理算法 (Compacting)
1、从根集合进行扫描,对存活的对象进行标记
2、清除,移动所有存活的对象,且按照内存地址次序依次排列,然后将末端内存地址以后的内存全部回收
四、分带收集算法(Generational Collector)
1、回收回收算法的组合拳
2、按照对象的生命周期不同,来划分区域以采用不同的垃圾回收算法
3、目的。是可以提升JVM 的回收效率
还没有评论,来说两句吧...