阅读量:0
Java WeakReference是一种弱引用类型,可以用来引用一个对象,但是在垃圾回收时会被自动清除。WeakReference通常用来解决内存泄漏问题,比如缓存中的对象引用。
使用WeakReference时,首先需要创建一个WeakReference对象,然后通过get()方法获取被引用的对象。当被引用的对象被垃圾回收时,get()方法会返回null。
下面是一个简单的示例代码,演示了如何使用WeakReference:
import java.lang.ref.WeakReference; public class WeakReferenceExample { public static void main(String[] args) { String str = new String("Hello World"); WeakReference<String> weakRef = new WeakReference<>(str); System.out.println("Weak reference value: " + weakRef.get()); str = null; // 清除强引用 System.gc(); // 手动触发垃圾回收 System.out.println("Weak reference value after garbage collection: " + weakRef.get()); } }
在上面的示例中,创建了一个String对象并通过WeakReference进行引用。在清除强引用后,手动触发垃圾回收,被引用的对象会被清除,get()方法返回null。
需要注意的是,WeakReference对象不会阻止被引用对象被垃圾回收,因此在使用时需要小心处理,避免引起NullPointerException。