一个对象引用了一个gcroot可达的对象,那么这个对象会不会被回收掉

行走的旅程 发布于 03/14 16:31
阅读 80
收藏 0

如果C本来是gcroot不可达的对象,然后C引用了B,B是gcroot可达的,那么这个时候c算不算gcroot可达.

加载中
0
tcxu
tcxu

算, 不能收走。
在Java虚拟机中判断一个对象是否可以被回收,有一种做法叫可达性分析算法,也就是从GC Root到各个对象,如果GC Root到某个对象还有可达的引用链,那么这个对象就还不能被回收,否则就等着被收割吧。

参考:
可作为GC Root的对象

0
行走的旅程
行走的旅程

就是这个可达是双向的还是单向的

0
张大凡
张大凡

不算,又不是B引用C

返回顶部
顶部