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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
Yvonne爱编码3 分钟前
JAVA数据结构 DAY8-堆
java·数据结构·python
阿猿收手吧!7 分钟前
【C++】高并发内存池架构与设计解析
开发语言·c++·架构
dovens7 分钟前
Spring Boot(快速上手)
java·spring boot·后端
唠玖馆15 分钟前
c++ 类和对象(全)
java·开发语言·c++
echome88819 分钟前
Python 异步编程实战:async/await 从入门到精通
开发语言·python·php
2401_8914821723 分钟前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
liuccn24 分钟前
GeoTools跟GDAL 库的关系与区别以及应用场景
java·arcgis
为美好的生活献上中指24 分钟前
*Java 沉淀重走长征路*之——《MyBatis与MyBatis-Plus一文打尽!》
java·jvm·maven·mybatis·mybatis-plus
brave_zhao33 分钟前
javafx中能有异步调用业务方法吗
java
王夏奇40 分钟前
python中的深浅拷贝和上下文管理器
java·服务器·前端