为了降低程序运行期间内存的占用,java 创建了 软引用、弱引用和虚引用。
使用这些引用类的好处:
如下面代码所示,可以在程序运行期间,强制垃圾回收,回收代码中的弱引用
public class TestReference {
public static void main(String[] args) {
String str = new String("Hello World");
//创建弱引用
WeakReference wr = new WeakReference(str);
//切断str和"hello world"之间的引用
str = null;
//取出弱引用所引用的对象
System.out.println("垃圾回收前,弱引用对象:" + wr.get());
//强制垃圾回收
System.gc();
System.runFinalization();
//再次取出弱引用所引用的对象
System.out.println("垃圾回收后,弱引用对象:" + wr.get());
}
}