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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
全栈陈序员1 天前
【Python】基础语法入门(九)—— 代码规范、调试技巧与性能初探
开发语言·python·代码规范
Swift社区1 天前
StackOverflowError 栈溢出的原因与实战解决方案
java·spring boot·spring
合作小小程序员小小店1 天前
图书管理系统,基于winform+sql sever,开发语言c#,数据库mysql
开发语言·数据库·sql·microsoft·c#
Yue丶越1 天前
【C语言】数据在内存中的存储
c语言·开发语言·网络
FakeOccupational1 天前
电路笔记(信号):网线能传多少米?网线信号传输距离
开发语言·笔记·php
字节拾光录1 天前
手机号存储避坑指南:从20亿级数据库实践看,为什么VARCHAR才是终极答案
java·数据库·oracle
p***97611 天前
SpringBoot(7)-Swagger
java·spring boot·后端
李宥小哥1 天前
Redis10-原理-网络模型
开发语言·网络·php
利刃大大1 天前
【c++中间件】语音识别SDK && 二次封装
开发语言·c++·中间件·语音识别
j***29481 天前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端