强引用、软引用、弱引用

来源:互联网 发布:广东高考口语软件 编辑:程序博客网 时间:2024/05/01 18:16

强引用:

关于强引用这里不用多说Object obj = new Object();
这里就是强引用。

软引用:

SoftReference<Object> obj = new SoftReference<Object>(new Object());
软引用只有在内存不够的时候才会被回收。

弱引用:

WeakReference,一次gc之后原有对象即被回收。测试用例如下:

/*
* 弱引用测试:gc一次之后弱引用对象被回收
*/
WeakReference<Object> obj = new WeakReference<Object>(new Object());
System.out.println(obj.get());
System.gc();
System.out.println(obj.get());

Console Output:
java.lang.Object@2a139a55
null