美文网首页Java面试宝典
垃圾回收有哪些算法,各自的特点?

垃圾回收有哪些算法,各自的特点?

作者: 架构师奶爸 | 来源:发表于2020-10-30 10:07 被阅读0次
  1. 标记-清除算法
    标记-清除算法分为“标记”和“清除”阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。它是最基础的收集算法,效率也很高,但是会带来两个明显的问题:
    1)效率问题
    2)空间问题(标记清除后会产生大量不连续的碎片)
  2. 复制算法
    为了解决效率问题,“复制”收集算法出现了。它可以将内存分为大小相同的两块,每次使用其中的一块。当这一块的内存使用完后,就将还存活的对象复制到另一块去,然后再把使用的空间一次清理掉。这样就使每次的内存回收都是对内存区间的一半进行回收。
  3. 标记-整理算法
    根据老年代的特点特出的一种标记算法,标记过程仍然与“标记-清除”算法一样,但后续步骤不是直接对可回收对象回收,而是让所有存活的对象向一端移动,然后直接清理掉端边界以外的内存。
    以下是来自我们vip“颠疯酒鬼”大佬的罗列总结:


    微信图片_20201030100710.jpg

相关文章

  • 垃圾回收有哪些算法,各自的特点?

    标记-清除算法标记-清除算法分为“标记”和“清除”阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标...

  • JVM垃圾回收器介绍

    在上一篇《JVM垃圾回收算法介绍》,从算法的角度来描述JVM的垃圾回收有哪些实现的方式。那现在,我们需要探究一下,...

  • JAVA的内存分配和垃圾收集4:垃圾收集器

    //FIX这里主要向大家介绍目前HostSpot虚拟机中有哪些垃圾收集器,各自的特点。并分析各个垃圾收集的使用场景...

  • 5、垃圾回收机制

    JVM的垃圾回收机制主要涉及三个方面的问题:1.JVM有哪些垃圾回收算法?各自有什么优势?2.CMS垃圾回收器是如...

  • 理解jvm(二)--垃圾回收

    jvm经过多年的发展,它的垃圾回收算法也经过了几个迭代。本文主要介绍垃圾回收算法及目前hotspot上实现的垃圾回...

  • JVM堆的分配和回收

    1. 内存分配 现代收集器基本都采用分代收集算法 1.1 概述 垃圾收集 垃圾回收 垃圾收集器 GC 算法是内存回...

  • 垃圾收集算法有哪些?以及它们各自的优缺点

    温馨提示:阅读本文需要5-6分钟(无代码)来源:《深入理解Java虚拟机》 今天,我们来解决一个问题: 垃圾收集算...

  • 6.内存泄漏和垃圾回收

    内存泄漏是指内存被无效的数据占用,无法被释放。(就像漏掉了一样,越用越少)垃圾回收有多种算法,浏览器中常见的有两种...

  • JVM 垃圾回收机制

    Java 语言的一大特点就是可以自动回收垃圾。一下列举了垃圾回收器的算法以及实现原理: 引用计数器算法 引用计数器...

  • 史上最全Java面试题之垃圾回收部分!(带全部答案)

    关于垃圾回收 你知道哪些垃圾回收算法? 垃圾回收从理论上非常容易理解,具体的方法有以下几种: 1. 标记-清除 2...

网友评论

    本文标题:垃圾回收有哪些算法,各自的特点?

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