您的位置:首页 > 其它

垃圾回收算法

2015-06-15 22:14 281 查看
来自深入理解java虚拟机

1.标记-清理法:

标记所有要回收的对象,在标记完后统一将被标记的对象清理掉。但是其缺点是,多次清理的情况下会产生许多的不连续的内存碎片,当分配较大对象却无法找到连续空间时,就要出发另一次的垃圾收集。



2.复制算法

将内存分为等量的两块,当其中一块用完时,将存活的对象复制到另一块上去,并清理已使用过的内存空间。缺点是代价很高,内存利用率太低了。



对于新生代,对象的存活率很低,因此,采用8+1+1的方式,就是当回收的时候将8+1上存活的对象,拷贝到另一个1上,后对8+1的空间进行清理。如果1不够用,将用启用分配担保机制。

3.标记-整理算法

适用老年代:与标记请理法差不多,只是现将存活的对象移向一端,然后将清理边界内存。



4.分代算法

就是2、3的结合运用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: