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

引用计数算法

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

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

可达性分析算法

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

相关推荐
lang201509286 分钟前
Spring Boot日志配置完全指南
java·spring boot·单元测试
在坚持一下我可没意见10 分钟前
HTTP 协议基本格式与 Fiddler 抓包工具实战指南
java·开发语言·网络协议·tcp/ip·http·java-ee·fiddler
樱花开了几轉20 分钟前
element ui下拉框踩坑
开发语言·javascript·ui
报错小能手23 分钟前
C++笔记(面向对象)RTTI操作符
开发语言·c++·笔记
草明25 分钟前
Go 的 IO 多路复用
开发语言·后端·golang
蓝-萧32 分钟前
Plugin ‘mysql_native_password‘ is not loaded`
java·后端
故事不长丨37 分钟前
【Java SpringBoot+Vue 实现视频文件上传与存储】
java·javascript·spring boot·vscode·后端·vue·intellij-idea
晟盾科技42 分钟前
报表类系统后端API设计思路
开发语言·windows·php
AI纪元故事会42 分钟前
冰泪与雨丝:一个AI的Python挽歌
开发语言·人工智能·python
不修×蝙蝠1 小时前
Java 日志演进:一文读懂主流框架
java·log4j·logback·log4j2·日志·slf4j