怎么判断对象是否可以被回收?
How do you determine whether an object can be garbage-collected?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Backend
标签: GC, 引用计数, 可达性分析, GC Roots
参考答案摘要
答案 一般有两种方法来判断: 引用计数器:为每个对象创建一个引用计数,有对象引用时计数器 +1,引用被释放时计数 -1,当计数器为 0 时就可以被回收。它有一个缺点不能解决循环引用的问题; 可达性分析:从 GC Roots 开始向下搜索,搜索所走过的路径称为引用链。当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象是可以被回收的。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。