GC简介html
1 GC机制算法
1.1 对象post
从计算机的角度,装有数据的内存空间spa
1.2 做用htm
将内存垃圾的释放自动化对象
1.3 本质blog
将已经引用不到的对象视为死亡,将死亡的对象找出来而且做为垃圾进行回收递归
2 GC算法内存
2.1 跟踪回收get
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 思惟导图