标签:
GC简介
1 GC机制
1.1 对象
从计算机的角度,装有数据的内存空间
1.2 作用
将内存垃圾的释放自动化
1.3 本质
将已经引用不到的对象视为死亡,将死亡的对象找出来并且作为垃圾进行回收
2 GC算法
2.1 跟踪回收
2.1.1 原理
从根开始扫描判断对象的生死
2.1.2 标记清除
(1)过程
(2)缺点
2.1.3 复制收集
(1)过程
(2)优缺点
2.2 引用计数
2.2.1 原理
当对象引用发生变化时,利用引用计数更新对象的状态,判断对象的生死
2.2.2 引用计数
(1)过程
在对象内部保持一个对该对象的引用计数,当引用发生增减时进行更新
(2)优缺点
2.3 跟踪回收和引用计数的结合
2.3.1 分代回收
(1)原理
大部分对象在短时间里会成为垃圾,而经过一定时间仍然存活下来的往往拥有较长的寿命,所以增加新生的对象的扫描,减少老生对象的扫描
(2)过程
(3)记录集
(4)写屏障
需要将添加到记录集的操作嵌入到对象修改的地方,对所有涉及修改对象的地方进行保护
(5)优缺点
2.3.2 增量回收
(1)原理
(2)优缺点
中断时间取决于对象的数量,在牺牲总GC时间的情况下,缩短中断时间
2.3.3 并行回收
(1)原理
(2)特点
2.4 GC大一统理论
所有的GC算法都是跟踪回收和引用计数的结合,两者相互独立,对其中一方进行改善的技术之中必然存在对另一方的改善技术,而其结果只是两种的结合
3 思维导图
本文链接:http://www.cnblogs.com/cposture/p/4845189.html
标签:
原文地址:http://www.cnblogs.com/cposture/p/4845189.html