jvm哪些可以作为gc root

在Java虚拟机(JVM)中,有以下几种对象可以作为GC Root:

  1. 被虚拟机栈(Java方法栈帧中的本地变量表)中引用的对象。
  2. 被方法区中静态属性引用的对象。
  3. 被本地方法栈中JNI(Java Native Interface)引用的对象。
  4. 被虚拟机常量池引用的对象。
  5. 虚拟机内部的引用对象,如基本数据类型对应的类对象等。

这些对象被认为是GC Root,是因为它们被直接或间接地引用着,垃圾回收器从这些GC Root开始遍历,找到并标记所有与之可达的对象,而未被标记的对象就会被判定为垃圾并被回收。

相关推荐
十年Java程序媛2 小时前
JVM 基础与 GC 垃圾回收详解|可达性分析、分代模型、垃圾收集器、STW
java·开发语言·jvm·spring boot·后端·面试
Lhappy嘻嘻1 天前
读懂 JVM:内存模型、类加载机制、分代回收
java·开发语言·jvm
CS创新实验室2 天前
Python 对象“死“了之后去了哪?——引用计数与分代垃圾回收
开发语言·jvm·python
wuminyu2 天前
JMM学习总结:深入理解happens-before关系
java·linux·c语言·jvm·c++
DongQiShanRen2 天前
六根硬件映射(下):物理闭环五步法,抽一条已实装的看
大数据·jvm·人工智能·算法·rust·哈希算法·集成学习
乌暮2 天前
从 `println` 到生产级日志:Spring Boot 日志体系完全指南
java·开发语言·jvm·spring boot·后端·学习·面试
Sayai2 天前
Java 进程 Unable to create new native thread 排查实战:Linux 线程数五层限制与 JVM -Xss 调优
java·linux·运维·jvm·性能优化
wuminyu2 天前
Continuation::freeze与thaw的x86_64汇编Stack Chunk拆解源码分析
java·linux·c语言·汇编·jvm·c++
金銀銅鐵3 天前
[Java] 借助GUI展示class文件的内容(v1.0版本)
jvm·后端·ai编程
kunicoding3 天前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全