美文网首页
垃圾收集算法

垃圾收集算法

作者: 44d95011b3f7 | 来源:发表于2018-09-19 11:37 被阅读0次

    标记清除算法

    首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象

    复制算法(新生代)

    将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。这样使得每次都是对整个半区进行内存回收,内存分配时也就不用考虑内存碎片等复杂情况,只要移动堆顶指针,按顺序分配内存即可。
    现代主流虚拟机采用Eden:Survivor:Survivor= 8:1:1来划分新生代内存空间,当回收时,将Eden和Survivor中还存活着的对象一次性地复制到另外一块Survivor空间上,最后清理掉Eden和刚才用过的Survivor空间。

    标记整理算法(老年代)

    标记过程仍然与标记清除算法一样,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的对象都向一端移动,然后直接清理掉边界以外的内存。

    相关文章

      网友评论

          本文标题:垃圾收集算法

          本文链接:https://www.haomeiwen.com/subject/zyzbnftx.html