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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
斑鸠喳喳5 小时前
可重入锁 ReentrantLock
java·源码
IT枫斗者枫哥5 小时前
Spring AI 聊天记忆落库:重启后,怎样接上上一轮对话
java
devpotato5 小时前
HashMap 扩容机制:从源码细节到工程实践
java
yueping25 小时前
如何用idea打开jar包
java
IT_Octopus5 小时前
从一个应用开发者的角度,搞懂大数据查询的完整链路
java·大数据·数据库
许彰午5 小时前
51-BpmnDesigner集成
java·低代码·架构
蜗牛互联网5 小时前
Claude放宽生命科学限制:代价是验证、分级和30天留存
java·人工智能·后端
shmily麻瓜小菜鸡5 小时前
TDD(测试驱动开发)详解
开发语言·javascript·typescript·node.js·ecmascript
泡海椒5 小时前
评分系统最佳实践:JQuick-Java实现权重、阈值动态配置评分
java·人工智能·python
三克的油5 小时前
java-学习1
java·开发语言·学习