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

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

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

(1)栈

虚拟机栈中引用的对象

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

(2)方法

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

方法区中常量引用的对象

相关推荐
二月夜3 小时前
剖析Java正则表达式回溯问题
java·正则表达式
Full Stack Developme3 小时前
JVM 与 Linux 交互的核心原理
linux·运维·jvm
xuhaoyu_cpp_java3 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
想吃火锅10054 小时前
【leetcode】405.数字转换为十六进制数js
开发语言·javascript·ecmascript
程序员二叉4 小时前
【Java】集合面试全套精讲|HashMap/ArrayList高频考点完整版
java·面试·哈希算法
专注VB编程开发20年4 小时前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
cfm_29144 小时前
JVM GC垃圾回收初步了解
java·开发语言·jvm
心之伊始4 小时前
LangChain4j RAG 实战:Java 后端如何把本地文档接入 Embedding 检索链路
java·架构·源码分析·csdn
~小先生~4 小时前
Python从入门到放弃(一)
开发语言·python
许彰午5 小时前
17_synchronized关键字深度解析
java·开发语言