垃圾收集算法

Posted 托马斯的半亩地

tags:

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

类需要同时满足3个条件才能算是"无用的类"

《1》该类所有的实例都已经被回收,也就是Java堆中不存在该类的任何实例

《2》加载该类的ClassLoader已经被回收

《3》该类对应的java.lang.Class对象没有在任何地方被引用,无法在任何地方通过反射访问该类的方法

 

标记-清除算法主要有两个不足:

《1》一个是效率问题,标记和清除两个过程的效率都不高

《2》另一个是空间问题,标记清除之后会产生大量不连续的内存碎片,内存碎片太多可能会导致以后在程序运行过程中需要分配较大对象时,

无法找到足够的连续内存而不得不提前触发另一次垃圾收集动作。

 

 

 

 

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

2垃圾回收算法(标记清除算法复制算法标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)

垃圾收集器(垃圾收集算法的实现)

垃圾收集器(垃圾收集算法的实现)

JVM垃圾回收2(垃圾收集算法)

JVM理论:(二/3)垃圾收集算法垃圾收集器

JVM之垃圾收集算法与垃圾收集器