【JVM】如何判断对象是否可以被回收

引用计数法:

在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的。

优点:实现简单,判定效率高;缺点:无法解决对象相互循环引用的问题,对象A中引用了对象B,对象B中引用对象A。

可达性分析:

通过一系列称为"GC Roots"的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径称为"引用链"(Reference Chain),如果某个对象到GC Roots间没有任何引用链相连,或者用图论的话来说就是从GC Roots到这个对象不可达时,则证明此对象是不可能再被使用的。

相关推荐
白总Server9 小时前
JVM解说
网络·jvm·物联网·安全·web安全·架构·数据库架构
向阳12189 小时前
JVM 进阶:深入理解与高级调优
java·jvm
用屁屁笑9 小时前
Java:JVM
java·开发语言·jvm
customer0813 小时前
【开源免费】基于SpringBoot+Vue.JS课程答疑系统(JAVA毕业设计)
java·jvm·vue.js·spring boot·spring cloud·kafka·开源
一叶飘零_sweeeet14 小时前
JVM 中的完整 GC 流程
java·开发语言·jvm
2301_7808538614 小时前
JVM概述
jvm
向阳121815 小时前
JVM入门教程:从概念到实践
java·jvm
不止会JS17 小时前
JVM详解:JVM的系统架构
jvm·系统架构
学点东西吧.1 天前
JVM(一、基础知识)
java·jvm
XMYX-01 天前
JVM 参数配置入门与优化案例
jvm