Java
- 分类
- Java JVM
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/29 01:13
答案
主要有两种方法:引用计数法和可达性分析 1. 引用计数法就是在对象当中添加一个引用计数器,当被引用时+1,引用释放时-1,为0时则可以回收。但是可能出现循环引用问题,即两个对象互相引用,导致无法回收 2. 可达性分析主要就是通过GC ROOTS进行搜索,能够找到的对象为可达对象,不可达对象就可以进行回收。GC ROOTS通常包括栈中引用的对象、静态成员引用的对象、常量引用的对象
相关题目(5)
怎么查看和分析堆内存?共源 1
Java
CPU 满了怎么排查?共源 1
并发Java
哪些情况会发生栈溢出?共源 1
Java JVM并发Java
常用的 JVM 排查工具有哪些?共源 1
Java JVM并发Java
JVM 什么时候启动?共源 1
Java JVMJava
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(JVM).md
knowledge_noteQuestion 32: 如何判断一个对象是否可以被回收?
Source answer: 主要有两种方法:引用计数法和可达性分析 1. 引用计数法就是在对象当中添加一个引用计数器,当被引用时+1,引用释放时-1,为0时则可以回收。但是可能出现循环引用问题,即两个对象互相引用,导致无法回收 2. 可达性分析主要就是通过GC ROOTS进行搜索,能够找到的对象为可达对象,不可达对象就可以进行回收。GC ROOTS通常包括栈中引用的对象、静态成员引用的对象、常量引用的对象
Reviewed answer: 常见方法有引用计数法和可达性分析。引用计数法实现简单但无法解决循环引用;主流JVM采用可达性分析,从GC Roots出发遍历,可达对象存活,不可达对象可回收。