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

引用计数算法

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

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

可达性分析算法

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

相关推荐
F_D_Z2 分钟前
【解决办法】网络训练报错AttributeError: module ‘jax.core‘ has no attribute ‘Shape‘.
开发语言·python·jax
chenyuhao20246 分钟前
MySQL索引特性
开发语言·数据库·c++·后端·mysql
雨中飘荡的记忆24 分钟前
财务对账系统设计与实现
java
laocooon52385788624 分钟前
vue3 本文实现了一个Vue3折叠面板组件
开发语言·前端·javascript
0***h94225 分钟前
使用 java -jar 命令启动 Spring Boot 应用时,指定特定的配置文件的几种实现方式
java·spring boot·jar
雨中飘荡的记忆27 分钟前
布式事务详解:从理论到实践(RocketMQ + Seata)
java·rocketmq
i***486139 分钟前
微服务生态组件之Spring Cloud LoadBalancer详解和源码分析
java·spring cloud·微服务
zzlyx9940 分钟前
用C#采用Avalonia+Mapsui在离线地图上插入图片画信号扩散图
java·开发语言·c#
Aevget44 分钟前
MyEclipse全新发布v2025.2——AI + Java 24 +更快的调试
java·ide·人工智能·eclipse·myeclipse
Yue丶越1 小时前
【C语言】自定义类型:结构体
c语言·开发语言