1. 如何判断垃圾可以回收
可达性分析算法:扫描堆中的对象,沿着GC Root对象为起点的引用链看能否找到该对象,如果能则其仍然存活,不能则判定为可回收的对象。
2. 五种引用(由强至弱)
3. 垃圾回收算法
(1)标记清除:先标记,然后清除,清除时就是把对象的起终地址记入空闲地址队列
优点:速度快 缺点:产生内存碎片
(2)标记整理:先标记,再把剩余的对象紧凑到一起
优点:解决了外部碎片 缺点:速度较慢
(3)标记复制:将内存划分出大小相等的两块,其中一块为原始,一块空白,把存活的对象复制到空白区(移动堆指针,按序分配无碎片)
优点:无内存碎片,高效 缺点:占用太多空间
原文:https://www.cnblogs.com/Kinghao0319/p/14460136.html