说一下对象有哪几种引用?
四种,分别是强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)。

强引用是 Java 中最常见的引用类型。使用 new 关键字赋值的引用就是强引用,只要强引用关联着对象,垃圾收集器就不会回收这部分对象。
String str = new String("");
软引用是一种相对较弱的引用类型,可以通过 SoftReference 类实现。软引用对象在内存不足时才会被回收。
SoftReference<String> softRef = new SoftReference<>(new String(""));
弱引用可以通过 WeakReference 类实现。弱引用对象在下一次垃圾回收时会被回收,不论内存是否充足。
WeakReference<String> weakRef = new WeakReference<>(new String(""));
虚引用可以通过 PhantomReference 类实现。虚引用对象在任何时候都可能被回收。主要用于跟踪对象被垃圾回收的状态,可以用于管理直接内存。
PhantomReference<String> phantomRef = new PhantomReference<>(new String(""), new ReferenceQueue<>());
THE END
暂无评论内容