16.三种基本的GC算法基石

来源:互联网 发布:js实例化对象的方法 编辑:程序博客网 时间:2024/06/05 17:50

1.GC标记、清除算法

由于内存中对象构成一个树,当内存耗尽时,程序停止(如果不停止新new对象时标记出错)。此时程序对对象进行标记和清除。



缺点:停止程序运行,降低用户体验。且释放的内存空间不连续。


2.GC的复制算法

先找出活动对象存储到空白区域,然后把原来的对象空间清空。


缺点:虽然活动空间连续,但是耗内存,且对象空间满的情况下,复制只是单纯的耗内存,并没有清理出多余的空间


3.GC标记,整理算法。

采用标记的方法,同时整理出有效的对象组成一段连续的区域。是基于1和2算法的平衡。


0 0