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

引用计数算法

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

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

可达性分析算法

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

相关推荐
极光代码工作室5 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发
浮江雾5 小时前
Flutter第十七节-----路由管理(3)
android·开发语言·前端·javascript·flutter·入门
admin and root5 小时前
「移动安全」安卓APP 反编译&frida脱壳技巧分享
android·开发语言·python·web安全·微信小程序·移动安全·攻防演练
我是唐青枫5 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
踏月的造梦星球5 小时前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
An_s5 小时前
c++对接pdfium(一)win系统篇
开发语言·c++
Zwarwolf5 小时前
Rust零散知识点项目汇总
开发语言·rust
-银雾鸢尾-5 小时前
C#中HashTable相关方法
开发语言·c#
茯苓gao5 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
ihuyigui5 小时前
海外签收通知短信接口
android·java·开发语言·前端·数据库·后端