1.GC标记、清除算法
由于内存中对象构成一个树,当内存耗尽时,程序停止(如果不停止新new对象时标记出错)。此时程序对对象进行标记和清除。
缺点:停止程序运行,降低用户体验。且释放的内存空间不连续。
2.GC的复制算法
先找出活动对象存储到空白区域,然后把原来的对象空间清空。
缺点:虽然活动空间连续,但是耗内存,且对象空间满的情况下,复制只是单纯的耗内存,并没有清理出多余的空间
3.GC标记,整理算法。
采用标记的方法,同时整理出有效的对象组成一段连续的区域。是基于1和2算法的平衡。