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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
Rust研习社7 小时前
Rust 高性能内存缓存 moka 完全指南
开发语言·后端·缓存·rust
2401_831419447 小时前
golang如何实现分布式对象存储_golang分布式对象存储实现攻略
jvm·数据库·python
鸟儿不吃草7 小时前
Android Java 自定义TextView点击取词,类似百度翻译的点击一段英文中的某个单词,可以显示点击了哪个单词
android·java·开发语言
wefg17 小时前
【C语言】用 C 语言实现多态
c语言·开发语言
梦梦代码精7 小时前
LikeShop 是怎么解决数据库瓶颈的?
java·数据库·低代码·php
yexuhgu8 小时前
Golang如何做贪心算法_Golang贪心算法教程【速学】
jvm·数据库·python
threelab8 小时前
Three.js 动态旋转同心圆着色器 | 三维可视化效果
开发语言·javascript·着色器
eRRA OFAG8 小时前
mysql之联合索引
java
奶茶树8 小时前
【STL/数据结构】哈希表和unordered系列容器的封装
开发语言·c++·散列表
Brilliantwxx8 小时前
【C++】初步认识STL(3)
开发语言·c++·笔记·算法