【大白话说Java面试题 第53题】【JVM篇】第13题:JVM采用什么算法判断一个对象是否需要被回收?

📌 PDF :大白话说Java面试题 --- 02-JVM篇

第13题:JVM采用什么算法判断一个对象是否需要被回收

📚 回答:

  • 核心概念 :
    JVM 使用可达性分析算法(Reachability Analysis)来判断一个对象是否可以被回收。

1. 可达性分析算法的作用
  • 定义:

    • 在垃圾回收前,JVM 需要确定哪些对象是存活的(可达的),哪些对象是垃圾(不可达的)。
    • 可达性分析算法通过从一组根节点(GC Roots)出发,递归查找所有可达的对象,不能被搜索到的对象则视为垃圾对象,可以被回收。

    💡 面试官视角:

  • 面试官可能会问"为什么不用引用计数法?"答:引用计数法无法解决循环引用问题(如两个对象互相引用但没有其他引用指向它们),而可达性分析算法可以更好地处理这种情况。

相关推荐
Pniubi6 小时前
HashMap的扩容和树化边界
java·开发语言
Mikko77 小时前
用 Java 复刻了高中时在塞班上玩的「熔岩矿车」:纯 Swing、零依赖、没有一张图片,一个 jar 双击就能玩
java·游戏开发·swing
知了学历孙老师7 小时前
小自考的校考和统考,出题方和难度差在哪
java·大数据·前端
Java爱好狂.7 小时前
Java初学者如何一周速通SpringBoot!
java·spring boot·后端·spring·高并发·架构师·java面试
秋饼8 小时前
LLM API密钥动态轮换实战:Spring Vault + Spring AI + 多Provider路由
java·ai·技术分享·后端开发
ShineWinsu9 小时前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
福兮说9 小时前
JSON 格式正确,数据就可靠吗?我用一份自编配置检查类型与空值
java·前端·json
罗西的思考9 小时前
【Agentic RL】Dressage Staleness 控制深度分析
人工智能·算法·机器学习
quaer10 小时前
弗洛伊德算法--判圈法寻找环的入口O(n) O(1)
数据结构·算法
小天源10 小时前
从 Nginx 日志到访问分析:轻量化网站监测服务的架构实践
jvm·nginx·网络安全·架构·网络监控