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

引用计数算法

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

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

可达性分析算法

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

相关推荐
m0_7487080517 分钟前
C++中的观察者模式实战
开发语言·c++·算法
电商API_1800790524727 分钟前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
qq_5375626730 分钟前
跨语言调用C++接口
开发语言·c++·算法
wjs202440 分钟前
DOM CDATA
开发语言
一点程序40 分钟前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
Tingjct42 分钟前
【初阶数据结构-二叉树】
c语言·开发语言·数据结构·算法
C雨后彩虹42 分钟前
计算疫情扩散时间
java·数据结构·算法·华为·面试
2401_8321319543 分钟前
Python单元测试(unittest)实战指南
jvm·数据库·python
2601_949809591 小时前
flutter_for_openharmony家庭相册app实战+我的Tab实现
java·javascript·flutter
猷咪1 小时前
C++基础
开发语言·c++