垃圾回收算法和 GC Roots 的对象

判断对象是否要回收有两种算法, 引用计数法和可达性算法。无论哪种都离不开引用,下面将介绍 Java 语言的四种引用。
众所周知,Java 语言的 JVM 垃圾回收机制,用可达性分析算法来判断堆里的对象是否正在使用。
可达性分析算法是从 GC ROOTS 开始,逐级扫描对象引用链,来筛选出不在引用链上(无用)的对象,扫面结束后,回收掉无用的对象占用的空间。

垃圾回收中,GC Roots 对象分下面2大类

(1)栈

虚拟机栈中引用的对象

本地方法栈中 JNI 引用的对象

(2)方法

方法区中类静态属性引用的对

方法区中常量引用的对象

相关推荐
一晌小贪欢3 分钟前
Python办公17:暴力拆分——按页数或指定范围提取 PDF 核心页面
java·开发语言·python·pdf·excel·数据可视化·python办公
2401_834636994 分钟前
Docker 容器化技术全解:从镜像构建到容器编排的完整教案1
java·docker·容器
孫治AllenSun5 分钟前
【LangChain4J-06】Prompt 工程与模板化开发
开发语言·python·prompt
jjjava2.010 分钟前
初步认识接口测试
java·可用性测试
吠品11 分钟前
TortoiseSVN 状态图标不显示的排查与解决办法
java·服务器·数据库
wuyk55513 分钟前
9.冒泡排序:像鱼缸泡泡一样的简单排序算法
开发语言·stm32·单片机·算法·排序算法
Yan_chen66617 分钟前
Vulhub 靶场:Tomcat8 弱口令与 WAR 包上传漏洞复现
java·网络安全·靶场·tomcat·文件上传漏洞
路多辛19 分钟前
为什么用 Go 写 AI Agent,covo-agent 的选型思考
开发语言·golang·agent·ai编程
mldong19 分钟前
跨语言对齐方法论:参考实现先行 + 契约测试
java·架构