码迷,mamicode.com
首页 > 其他好文 > 详细

JVM内存管理与GC机制(一)

时间:2017-09-02 16:49:55      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:java虚拟机   虚拟机   算法   java   nbsp   例子   无法   失效   虚拟   

一  判断对象是否存活

1.1 引用计数法

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

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

举个例子:

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

 

JVM内存管理与GC机制(一)

标签:java虚拟机   虚拟机   算法   java   nbsp   例子   无法   失效   虚拟   

原文地址:http://www.cnblogs.com/chengdabelief/p/7466876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!