JVM内存管理与GC机制

Posted 芬芬是个乖宝宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM内存管理与GC机制相关的知识,希望对你有一定的参考价值。

一  判断对象是否存活

1.1 引用计数法

给对象加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效的时候,计数器值减1;任何时刻计数器为0的对象就是不可能再被使用的。

引用计数法的实现简单,判断效率也很高,但是主流的java虚拟机里面没有选用引用计数算法来管理内存,其中最主要的原因是它很难解决对象之间的循环引用的问题。

举个例子:

对象objA和对象objB都有字段instance,赋值令objA.instance = objB 以及objB.instance = objA,除此之外,这两个对象再无任何引用,但是他们互相引用着对方,导致它们的引用计数都不为0,于是引用计数算法无法通知GC收集器回收他们。

 

以上是关于JVM内存管理与GC机制的主要内容,如果未能解决你的问题,请参考以下文章

JVM垃圾回收机制与内存回收

Java GC 机制与内存分配策略

JVM的GC机制及JVM的调优方法

JVM的GC机制及JVM的调优方法

学习JVM--垃圾回收

java jvm内存管理/gc策略/参数设置