如何判断一个java对象还活着

引用计数算法

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

缺点:循环引用的场景无法释放

可达性分析算法

目前 Java 虚拟机的主流垃圾回收器采取的是可达性分析算法。这个算法的实质在于将一系列 GC Roots 作为初始的存活对象合集(Gc Root Set),然后从该合集出发,探索所有能够被该集合引用到的对象,并将其加入到该集合中,这个过程我们也称之为标记(mark)。最终,未被探索到的对象便是死亡的,是可以回收。

相关推荐
Honyee几秒前
java使用UCanAccess操作Access
java·后端
Devil枫1 分钟前
Kotlin项目实战与总结
开发语言·jvm·kotlin
秋千码途1 分钟前
小架构step系列10:日志热更新
java·linux·微服务
她说人狗殊途4 分钟前
浅克隆 深克隆
java
timing9946 分钟前
SQLite3 中列(变量)的特殊属性
java·jvm·sqlite
SimonKing12 分钟前
你的Redis分布式锁还在裸奔?看门狗机制让锁更安全!
java·后端·程序员
yeziyfx18 分钟前
kotlin中集合的用法
android·开发语言·kotlin
你喜欢喝可乐吗?36 分钟前
RuoYi-Cloud 验证码处理流程
java·spring cloud·微服务·vue
三体世界1 小时前
TCP传输控制层协议深入理解
linux·服务器·开发语言·网络·c++·网络协议·tcp/ip
Java技术小馆1 小时前
langChain开发你的第一个 Agent
java·面试·架构