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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
七夜zippoe几秒前
Spring与MyBatis整合原理及事务管理
java·spring·mybatis·事务·mapper
YJlio2 分钟前
网络与通信具总览(14.0):从 PsPing 到 TCPView / Whois 的联合作战
开发语言·网络·php
yong99903 分钟前
超宽带系统链路 MATLAB 仿真
开发语言·算法·matlab
yaoxin5211234 分钟前
278. Java Stream API - 限制与跳过操作全解析
java·开发语言·python
iCheney!8 分钟前
php生成赛博像素风头像
开发语言·php
短剑重铸之日11 分钟前
《深入解析JVM》第五章:JDK 8之后版本的优化与JDK 25前瞻
java·开发语言·jvm·后端
love530love14 分钟前
【探讨】“父级/基环境损坏,子环境全部失效”,如何避免 .venv 受父级 Python 损坏影响?
java·开发语言·人工智能·windows·python·编程·ai编程
shbelec15 分钟前
实邦电子在电子产品开发方面有哪些优势与特色?
开发语言
代码炼金术士31 分钟前
认识JVM
运维·服务器·jvm
java硕哥34 分钟前
Spring源码debug方法
java·后端·spring