参考答案
判断对象是否存活,一般如下两种方式:
- 引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。这个方法简单,但无法解决对象相互循环引用的问题。
- 可达性分析:英文全称Reachability Analysis,从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的,不可达对象。
以上,是JVM面试题【如何判断对象可以被回收】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—