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

引用计数算法

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

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

可达性分析算法

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

相关推荐
程序员岳焱24 分钟前
深度剖析:Spring AI 与 LangChain4j,谁才是 Java 程序员的 AI 开发利器?
java·人工智能·后端
wangjinjin18025 分钟前
Python Excel 文件处理:openpyxl 与 pandas 库完全指南
开发语言·python
愚润求学25 分钟前
【C++】类型转换
开发语言·c++
都叫我大帅哥32 分钟前
AQS(AbstractQueuedSynchronizer)深度解剖:从“奶茶店排队”到源码级设计哲学
java
斯奕sky_small-BAD37 分钟前
C++ if语句完全指南:从基础到工程实践
java·开发语言·php
云之渺39 分钟前
125java
java
都叫我大帅哥40 分钟前
Java ReentrantLock:从“舔狗式等待”到源码级征服指南
java
程序员岳焱1 小时前
Java 高级泛型实战:8 个场景化编程技巧
java·后端·编程语言
Humbunklung1 小时前
Rust Floem UI 框架使用简介
开发语言·ui·rust
钢铁男儿1 小时前
C# 类和继承(扩展方法)
java·servlet·c#