今天是
当前位置:微山新闻资讯 > 系列报道 >

运城java培训垃圾回收中的对象判定方法

时间:2019-07-29 18:30 来源: 作者:微山新闻资讯

垃圾回收机制在许多编程开发应用中都占有一席之地,而今天我们就一起来聊聊垃圾回收中的对象判定都有哪些方法。

运城java培训垃圾回收中的对象判定方法

垃圾对象的判定有两种:引用计数法和可达性分析。

引用计数器:实现很简单,对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1。只要对象A的引用计数器的值为0,则对象A就不可能再被使用。

但是存在的问题:引用和去引用伴随加法和减法,影响性能,很难处理循环引用。

可达性分析:这个算法的基本思路就是通过一系列的称为“GCRoots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(ReferenceChain),当一个对象到GCRoots没有任何引用链相连。

在Java语言中,可作为GCRoots的对象包括下面几种:

1、虚拟机栈(栈帧中的本地变量表)中引用的对象。

2、方法区中类静态属性引用的对象

3、方法区中常量引用的对象

4、本地方法栈中JNI(即一般说的Native方法)引用的对象

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。

通知公告
百姓心声
友情链接: