一、回收算法
1、根引用计数算法
原理:对象有引用计数加1,同理减1
缺点:两个对象互相引用,无法回收
2、标记清除算法
原理:1、从根基以树形方式查找所有的对象,进行标记
2、针对标记对象进行清理
缺点 : 产生碎片、影响对象存放
3、标记复制算法
原理:有两块内存区域,一块用于复制
1、从根基以树形方式查找所有的对象,进行标记
2、复制标记的对象(A)到另一块内存(B),并对当前(A)内存清理
注意:后期生成的对象会放在B区域
缺点:浪费内存
4、标记整理算法
原理:1、从根基以树形方式查找所有的对象,进行标记
2、针对标记对象清理,并把剩余对象向一端移动
缺点: 浪费时间
5、分代算法
原理:内存分为新生代(edon,survivor),tenuor
新生代复制到幸存区,然后移动到老生代