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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
快乐肚皮2 分钟前
MySQL递归CTE
java·数据库·mysql·递归表达式
廋到被风吹走5 分钟前
【Spring】DispatcherServlet解析
java·后端·spring
王琦03185 分钟前
Python 函数详解
开发语言·python
胡伯来了11 分钟前
13. Python打包工具- setuptools
开发语言·python
廋到被风吹走14 分钟前
【Spring】PlatformTransactionManager详解
java·spring·wpf
小鸡吃米…19 分钟前
Python 中的多层继承
开发语言·python
deng-c-f36 分钟前
Linux C/C++ 学习日记(53):原子操作(二):实现shared_ptr
开发语言·c++·学习
wanghowie1 小时前
01.07 Java基础篇|函数式编程与语言新特性总览
java·开发语言·面试
Cricyta Sevina1 小时前
Java IO 基础理论知识笔记
java·开发语言·笔记
MyBFuture1 小时前
C#接口与抽象类:关键区别详解
开发语言·c#·visual studio