在Java中,SoftReference是一種特殊的引用類型,用于創(chuàng)建對對象的軟引用。軟引用是一種比強(qiáng)引用弱一些的引用,如果一個對象只有軟引用指向它,那么只有在內(nèi)存不足時,GC才會回收這個對象。
SoftReference可以通過以下方式使用:
SoftReference<String> softRef = new SoftReference<>("Hello");
String value = softRef.get();
if (softRef.get() == null) {
// 對象已被回收
} else {
// 對象還未被回收
}
softRef.clear();
注意:SoftReference一般用于實(shí)現(xiàn)緩存,當(dāng)內(nèi)存不足時,GC會回收軟引用指向的對象,從而釋放內(nèi)存。SoftReference的get()方法返回的對象可能為null,因此使用SoftReference時需要注意判空處理。