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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
DieSnowK6 分钟前
[C++][设计模式][备忘录模式]详细讲解
开发语言·c++·设计模式·重构·面向对象·备忘录模式·新手向
左手の明天21 分钟前
【Python网络爬虫案例】python爬虫之模拟登录
开发语言·爬虫·python·模拟登录
游王子35 分钟前
Springboot与xxl-job
java·spring boot·后端
秋刀prince42 分钟前
【JD-GUI】MacOS 中使用Java反编译工具JD-GUI
java·macos·策略模式
mumu_wangwei1 小时前
【PHP】实现类的无缝动态扩展,设计模式,php工厂模式应用场景,以下代码是工厂模式在框架设计中的真实使用案例代码
开发语言·设计模式·php
lsjweiyi1 小时前
sitemap.xml生成(go语言版)
开发语言·golang·sitemap.xml
CoCo玛奇朵1 小时前
CleanMyMacX2024免费且强大的mac电脑系统优化工具
开发语言·javascript·macos·ffmpeg·ecmascript·百度云
Itmastergo1 小时前
零基础小白学习 Python,应该如何配置 Python 开发环境?(包含Windows、MacOS、Linux)
开发语言·python·学习
Dongliner~1 小时前
【C++:list】
开发语言·c++
nbplus_0071 小时前
golang跨平台GUI框架fyne介绍与使用详解,开放案例
开发语言·后端·安全·golang·个人开发