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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
vegetablec1 分钟前
如何用 location.reload(true) 强制浏览器从服务器刷新页面
jvm·数据库·python
2301_814809861 分钟前
如何让导航栏的下落动画效果更缓慢?
jvm·数据库·python
杜子不疼.3 分钟前
Python多模态AI开发指南:让AI同时理解文字、图片和语音
开发语言·人工智能·python
逻辑驱动的ken6 分钟前
Java高频面试考点04
java·开发语言·算法·哈希算法·散列表
InfinteJustice6 分钟前
如何加固SQL通信安全_启用SSL加密确保数据传输安全
jvm·数据库·python
小饕6 分钟前
RAG学习之 - 检索质量评估指标详解:从概念到代码实战
开发语言·人工智能·python·学习
John.Lewis8 分钟前
C++加餐课-继承和多态:扩展学习
开发语言·c++·笔记
2301_817672268 分钟前
C#怎么实现RSA非对称加密 C#如何用RSA算法进行公钥加密私钥解密和数字签名【安全】
jvm·数据库·python
Greyson110 分钟前
Go语言中纯函数调用的并发安全性详解
jvm·数据库·python
InfinteJustice10 分钟前
怎么在Node.js中管理MongoDB的数据库迁移版本_使用migrate-mongo进行类似Flyway的版本演进控制
jvm·数据库·python