您的位置:首页 > 编程语言 > Java开发

深机笔记 - 03 确定对象已死的2种算法

2017-07-10 18:30 531 查看
3.2节
1.引用计数算法

算法思路:给对象添加引用计数器,有引用时加1,引用失效时减1,计数器为0,对象不可用

实现简单,判定效率高,但主流Java虚拟机没有选用,主要原因是它很难解决对象之间相互循环引用问题
2.可达性分析算法

基本思路:将"GC Roots"对象作为起始点,从起始点开始向下搜索,搜索经过的路径称为引用链(ReferenceChain),没有与任何引用链相连的对象不可用

在Java语言中可作为“GC Roots”的对象有:

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

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

方法区中常量引用的对象

本地方法栈中JNI(即一般说的Native方法)引用的对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 虚拟机 算法