1、标记-清除算法
容易产生大量不连续的内存碎片
2、复制算法
将内存分为Eden控件和两个survivor控件,每次使用Eden和其中一块servivor,主要是用于新生代,适用的是98%的对象可回收的情况,GC后把Eden和servivor的未回收的对象存放到另外一个servivor上,同时清空Eden和servivor;如果servivor控件不够,需要依赖老年代内存进行分配担保
3、标记-整理算法
适合于老年代内存特点,对象存活率高的情况
4、分代收集算法
根据对象的存活周期的不同将内存划分为几块,一般分为新生代和老年代,新生代适应复制算法,老年代适应标记-整理算法或标记-清除算法
网友评论