Java垃圾收集算法

Posted masterz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java垃圾收集算法相关的知识,希望对你有一定的参考价值。

1、标记-清除算法

最基础的收集算法、主要对内存中的不使用的内存标记为可回收状态,进行回收

缺点: 标记、回收效率不高还会导致内存分配不够连续,容易触发新生代垃圾回收

2、复制算法

讲可用内存分为两部分,每次只是用一部分,当其中一部分内存使用完之后,就将存活的对象复制到另外一块,然后对已使用的进行清理。

缺点:使用率降低、特别是对象存活率较高时需要频繁的复制操作,如果使用的一块对象都存活着会怎么样?

3、标记-整理算法

标记-清除算法的升级,让所有存活的对象向内存一端移动,然后清理掉边界以外的内存

4、分代收集

根据对象存活周期将内存划分为几块,新生代划分为两块负责清理大量死去的对象和复制少量存活的对象,老年代对象存活率高,使用标记清理

新生代使用复制算法、老年代使用标记整理算法

 

以上是关于Java垃圾收集算法的主要内容,如果未能解决你的问题,请参考以下文章

深入理解java虚拟机GC垃圾回收-垃圾收集算法

深入理解java虚拟机GC垃圾回收-垃圾收集算法

java虚拟机学习--垃圾收集算法

jvm,深入理解java虚拟机,垃圾收集算法与垃圾收集器

jvm,深入理解java虚拟机,垃圾收集算法与垃圾收集器

Java内存学习笔记04-垃圾收集算法与垃圾收集器