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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
小则又沐风a16 小时前
C++内存管理 C++模板
开发语言·c++
不会写DN16 小时前
如何给 Go 语言的 TCP 聊天服务加上 ACK 可靠送达机制
开发语言·tcp/ip·golang
起个名特麻烦16 小时前
SpringBoot全局配置LocalDate/LocalTime/LocalDateTime的序列化和反序列化
java·spring boot·后端
小李云雾16 小时前
FastAPI 后端开发:文件上传 + 表单提交
开发语言·python·lua·postman·fastapi
高斯林.神犇16 小时前
四、依赖注入.spring
java·后端·spring
hero.fei16 小时前
在springboot中使用Resilience4j
java·spring boot·后端
llm大模型算法工程师weng16 小时前
Python敏感词检测方案详解
开发语言·python·c#
沐苏瑶16 小时前
Java算法之排序
java·算法·排序算法
fengci.16 小时前
php反序列化(复习)(第二章)
android·开发语言·学习·php
ZHENGZJM16 小时前
后端基石:Go 项目初始化与数据库模型设计
开发语言·数据库·golang