You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle HotSpot JVM中GC Roots的类型有哪些?官方资料缺失求解

Oracle HotSpot JVM 中的 GC Roots 类型

Oracle HotSpot JVM 的官方文档并未明确枚举 GC Roots 的所有类型,但基于 HotSpot 的实现机制和行业普遍共识,GC Roots 主要包含以下类别:

核心类型

  • Class:由启动类加载器(Bootstrap Class Loader)加载的类,这类类本身不会被垃圾回收,其持有的静态变量引用也属于 GC Roots 范畴。
  • Stack Local:当前活跃线程栈中的方法局部变量与参数,也就是正在执行的方法里直接持有的对象引用。
  • Active Java Threads:所有处于活跃状态的 Java 线程对象,以及这些线程栈中可访问的所有对象引用。
  • JNI References:与 JNI 交互相关的引用,包括 JNI 方法的局部变量、参数,以及显式创建的全局 JNI 引用——这些是本地代码调用 Java 对象时保留的引用。

扩展类型

除了上述核心类型,HotSpot 中还有部分特殊场景的对象会被认定为 GC Roots:

用作同步监视器的对象(即被synchronized关键字锁定的对象);JVM 实现层面为特定功能保留的、不会被垃圾回收的对象,比如关键异常类实例、启动类加载器、仍有已加载类存活的自定义类加载器等。

内容的提问来源于stack exchange,提问作者Dolphin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 18:55:35