可达性分析算法

可达性分析算法

通过GC Roots的对象为起点,向下搜索,能到达的对象为不可回收对象,不能到达的对象为需要回收的对象。Java中就是通过可达性分析算法来判定对象是否存活的。

GC Roots的对象

1)、方法区中常量引用的对象;

2)、方法区中类静态属性(static修饰)引用的对象;

3)、虚拟机栈(本地变量表)中引用的对象(正在被使用);

4)、本地方法栈(native修饰方法)中引用的对象;

图解

如下图,a~h均为对象,通过GC Roots向下搜索,可以到达的对象为a、b、d、f,所以a、b、d、f为不可回收对象,其他的均为可回收对象。 

 

 

如果有写的不对的地方,请大家多多批评指正,非常感谢!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值