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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
砍材农夫4 小时前
spring-ai 第四多模态API
java·人工智能·spring
她说..7 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
watson_pillow7 小时前
c++ 协程的初步理解
开发语言·c++
庞轩px7 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
故事和你918 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
皮皮林5518 小时前
面试官:ZSet 的底层实现是什么?
java
yangyanping201088 小时前
Go语言学习之对象关系映射GORM
jvm·学习·golang
码云数智-大飞9 小时前
C++ RAII机制:资源管理的“自动化”哲学
java·服务器·php
2601_949816589 小时前
Spring+Quartz实现定时任务的配置方法
java
白毛大侠9 小时前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang