Untitled

  1. Java虚拟机栈(栈帧中的局部变量表)中的引用所引用的对象
  2. 方法区中类静态属性引用的对象
  3. 方法区中常量引用的对象
  4. 本地方法栈中JNI(Native方法)引用的对象
  5. Java虚拟机内部的引用,如基本数据类型对应的 Class对象,一些常驻的异常对象(比如NullPointException、OutOfMemoryError)
  6. 所有被同步锁(synchronized关键字)持有的对象
  7. 反应Java虚拟机内部情况的JMXBean、JVMTI (JVM Tool Interface) 中注册的回调、本地代码缓存等。

https://www.nowcoder.com/discuss/664492793825406976