强软弱虚
强引用: Object obj = new Object();
当内存空间满了之后 obj 也不会被回收 可以使用 obj = null; 让垃圾回收器进行回收
软引用: SoftReference softReference = new SoftReference(new Object());
只有当内存空间满了之后 softReference 才会被回收,否则不会被回收
弱引用: WeakReference softReference = new WeakReference(new Object());
只要发生GC 就会被回收.
虚引用:
Object obj = new Object();
ReferenceQueue queue = new ReferenceQueue();
// 创建虚引用,要求必须与一个引用队列关联
PhantomReference pr = new PhantomReference(obj, queue);
虚引用必须和queue一起使用,从JVM堆内存中无法获取对象,使用场景为堆外内存管理