美文网首页
1.垃圾收集算法

1.垃圾收集算法

作者: 想做安徒生 | 来源:发表于2018-04-01 22:10 被阅读0次

1.标记-清除(老年代)
先标记一下不在存活(可达性分析后,两次标记都被选中,切没有再finalize()中自救的的结果),然后进行清除,后果是带来内存碎片化严重,也会因为分配不到足够连续的空间而频繁触发GC,直到Out of Memory。

作者:可文分身
链接:https://www.jianshu.com/p/b0f5d21fe031
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.复制算法(新生代)
对标记清理进行优化,划分2个区域,把一个区域的需要回收复制到另外一个区域,然后把当前区域清出掉,以空间换时间,解决效率问题,同时带来了空间利用率的问题。这种算法比较适合少量对象存活需要复制的场景。商用上常常用来回收新生代,并且 Eden和S区的比例默认设置为8:1。

3.标记-整理算法(老年代)
对于存活率较高的内存区域,垃圾回收用复制算法显然是不合适的,因为复制对象既需要较大的空间成本,页需要一定的时间效率成本。因词标记整理应运而生。即标记依然存活的对象到内存区域的一端,然后以分界线进行清除需要清理的一端,在商用上常常用于老年代的垃圾回收。

4.分代回收算法
目前几乎所有的JVM厂商都会采用的算法,划分新生代、老年代,进而根据情况使用不同的垃圾回收算法。

相关文章

  • JVM垃圾回收

    GC垃圾回收流程 垃圾收集算法 垃圾回收算法 引用类型 垃圾回收的时机 1.垃圾收集算法 (1).引用计数算法含义...

  • JVM堆的分配和回收

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

  • 1.垃圾收集算法

    1.标记-清除(老年代)先标记一下不在存活(可达性分析后,两次标记都被选中,切没有再finalize()中自救的的...

  • 第三章(二)GC

    本篇主要讲 垃圾收集算法 、 HotSpot的的算法实现 和 垃圾收集器。 垃圾收集算法 标记-清除算法 Mark...

  • JVM垃圾收集器(二)

    接着上一篇JVM垃圾收集器(一)讲。 三、垃圾收集算法 1.标记清除算法(Mark-Sweep) 不足:1.效率:...

  • JVM:(GC)垃圾收集算法 学习笔记

    一.垃圾收集算法 类型 1.标记-清除 算法 2.复制 算法 3.标记-整理 算法 4.分代收集 算法 二.标记-...

  • 4种垃圾收集算法及8种垃圾收集器

    文主要介绍4种垃圾收集算法及8种垃圾收集器: 垃圾收集算法 1、标记-清除算法(Mark-Sweep) “标记-清...

  • JVM中垃圾收集算法及垃圾收集器详解

    一、垃圾收集算法 1.标记-清除算法 最基础的收集算法是“标记-清除”(Mark-Sweep)算法,如同它的名字一...

  • 垃圾收集器ParNew&三色标记法

    1. 垃圾收集算法 1.1 分代收集理论 1.2标记-复制算法: 概念缺点:浪费空间 1.3.标记-清除算法: 概...

  • JVM学习笔记四【垃圾收集器】

    前文我们针对垃圾收集的区域,垃圾收集的对象,垃圾收集算法进行了介绍;而垃圾收集器就是收集算法的实现,如下是HotS...

网友评论

      本文标题:1.垃圾收集算法

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