参考博文:
https://droidyue.com/blog/2014/10/12/understanding-weakreference-in-java/
http://puretech.iteye.com/blog/2008663
测试TestA
package prodconsumer;
public class TestA {
int a;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
package test;
import java.lang.ref.WeakReference;
import prodconsumer.TestA;
public class TestFinal {
public static void main(String[] args) {
TestA abc=new TestA();
WeakReference<TestA> weakWidget = new WeakReference<TestA>(abc);
System.out.println(weakWidget.get());
int i=0;
while(true){
if(weakWidget.get()!=null){
i++;
System.out.println("Object is alive for "+i+" loops - "+weakWidget);
}else{
System.out.println("Object has been collected.");
break;
}
}
}
}
运行一段时间后 car object 即被回收了。
弱引用或者软引用之类的有个好处,就是用于做cache.

被折叠的 条评论
为什么被折叠?



