java 垃圾收集

Posted 随心2017

tags:

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

1.为什么使用垃圾收集

  a。把用户从释放占用内存的重担中解救出来

  b。帮助程序保持完整性

2.垃圾收集算法

  检测出垃圾对象,必须回收垃圾对象所使用的堆空间并还给程序

  垃圾检测:通过建立一个根对象集合并且检查从这些根对象开始的可触及性来实现。从根对象开始,任何可以被触及的对象都被认为是“活动”的对象。

3.引用计数收集器

  堆中每一个对象都有一个引用计数,任何引用计数为0的对象可以被当做垃圾收集,

4.跟踪收集器

  从根结点开始的对象引用图,遇到的对象以某种方式打上标记,标记清除,虚拟机遍历引用树,标记每一个遇到的对象,在清除阶段,未被标记的对象被释放了。

5.压缩收集器

6.拷贝收集器

  把所有的活动对象移到一个新的区域,

7.按代收集的收集器

  

8 对象可触及的生命周期

  每一个对象的三种状态:可触及的,可复活的,不可触及的,

  软引用,弱引用,影子引用,强引用禁止目标被垃圾收集,而软引用,弱引用和影子引用不禁止。

  

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

JAVA垃圾回收Garbage Collection(垃圾收集器

Java虚拟机9:垃圾收集(GC)-4(垃圾收集器)

Java 中的垃圾收集器

G1垃圾收集或者Java中垃圾收集的名词收集

java虚拟机之垃圾收集器

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