活动线程(Active threads):正在执行的线程被视为GC Roots,因为它们持有当前执行状态的信息。
静态变量(Static variables):被声明为静态的变量属于类,因此它们会一直存在于内存中。
JNI引用(JNI references):Java Native Interface(JNI)引用是在Java代码中与本地(非Java)代码进行交互时创建的对象引用。
方法区中的类静态属性引用(Class static properties references):方法区中的类静态属性引用持有对其他对象的引用。
栈帧中的局部变量引用(Local variables references in stack frames):栈帧中的局部变量引用指向堆中的对象。
常量引用(Constant references):在编译时被确定为常量的引用。