一、垃圾回收算法
(1)、标记和清除算法
将内存中的对象进行全盘扫描。将垃圾对象进行标记,
然后再全盘清除垃圾对象。
优缺点:
a.存在空间碎片,内存不连续\
b.标记和清楚都比较耗时
因为标记和清除都要对整个内存去扫描。所以比较耗时。
(2)、标记复制算法
将内存平均划分为两个空间。并且保证其中一个空间为空。 让进行垃圾
回收的时候,将有数据一侧内存h中存活的数据复制到没有数据的内存
空间n, 然后再将h中的所有对象都删除。 这样既能保证空间连续,
又能保证速度
优缺点:
缺点:空间浪费
优点:空间连续
(3)、标记整理算法
不需要划分内存。 将存活的对象往一边移动。删除垃圾对象
二、垃圾回收器
** 新生代用到的复制算法(少量对象存活); 老年代用到的 标记整理/清除 算法 **
- 吞吐量 =dengyi 用户业务代码执行的时间/(业务代码执行的时间+垃圾收集的时间)
适用于Yong区的垃回收器:
Serial ParNew Parallel Scavenge
使用域Old区的垃圾回收器:
CMS Serial Old Parallel Old
都适用的垃圾回收器:
G1