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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

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