jvm哪些可以作为gc root

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

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

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

相关推荐
努力发光的程序员37 分钟前
互联网大厂Java求职面试实录
java·jvm·线程池·多线程·hashmap·juc·arraylist
Tim_102 小时前
【C++入门】03、C++整型
java·开发语言·jvm
CodeAmaz2 小时前
JVM内存模型详解
jvm·内存模型
Da Da 泓8 小时前
多线程(四)【线程安全问题】
java·开发语言·jvm·学习·安全·多线程·线程安全问题
普通网友8 小时前
更优雅的测试:Pytest框架入门
jvm·数据库·python
li.wz9 小时前
JVM 执行引擎:从“能跑”到“跑得快”
jvm
没有bug.的程序员9 小时前
JVM 安全与沙箱深度解析
java·jvm·安全·gc·gc调优
Ryana9 小时前
协程不是银弹:历时半年,终于搞清了每分钟120次YGC的真相
jvm·后端
CodeAmaz9 小时前
JVM双亲委派模型详解
jvm·双亲委派