java.lang.ref 的引用
http://www.k99k.com/texts/java-reference.html
强引用:手动释放时,会被回收
软引用:内存不足时,会被回收
弱引用:随时可能被回收
虚引用:与没有引用类似
String a = new String("hello");//强引用
a = null;//释放强引用
ReferenceQueue<String> rq = new ReferenceQueue<String>();
SoftReference<String> ref= new SoftReference<String>(new String("hello"), rq);//软引用
String str = new String("hello");
str = null;//释放强引用
ReferenceQueue<String> rq = new ReferenceQueue<String>(); // 回收队列,用于存放被回收的对象
WeakReference<String> wf = new WeakReference<String>(str, rq); //弱引用
ReferenceQueue<String> rq = new ReferenceQueue<String>();
PhantomReference<String> ref= new PhantomReference<String>(new String("hello"), rq);//虚引用
http://www.k99k.com/texts/java-reference.html
强引用:手动释放时,会被回收
软引用:内存不足时,会被回收
弱引用:随时可能被回收
虚引用:与没有引用类似
String a = new String("hello");//强引用
a = null;//释放强引用
ReferenceQueue<String> rq = new ReferenceQueue<String>();
SoftReference<String> ref= new SoftReference<String>(new String("hello"), rq);//软引用
String str = new String("hello");
str = null;//释放强引用
ReferenceQueue<String> rq = new ReferenceQueue<String>(); // 回收队列,用于存放被回收的对象
WeakReference<String> wf = new WeakReference<String>(str, rq); //弱引用
ReferenceQueue<String> rq = new ReferenceQueue<String>();
PhantomReference<String> ref= new PhantomReference<String>(new String("hello"), rq);//虚引用