可以作为GC Roots的四种对象说明
- 虚拟机栈(栈帧中的本地变量表)中引用的对象
- 方法区中类静态属性引用的对象
- 方法区中常量引用的对象
- 本地方法栈中JNI引用的对象
JDK中四种引用类型以及实现方式说明
- 强引用【类似于Object obj=new Object()】,只要强引用存在垃圾收集器永远不会回收掉被引用的对象
- 软引用【实现方法SoftReference】,只有在垃圾回收内存空间不足时才会回收这类引用指向的对象,多用在缓存对象中
- 弱引用【实现方法WeakReference】,只要发生垃圾回收就会被回收
- 虚引用【实现方法PhantomReference】,是引用关系最弱的一种,无法通过虚引用来虚的一个对象实例
摘自周志明老师《深入理解Java虚拟机》第三章部分