package 容器深入研究;
import java.lang.ref.*;
import java.util.*;
class VeryBig{
private static final int SIZE=10000;
private long[] la=new long[SIZE];
private String ident;
public VeryBig(String id){ident=id;}
public String toString(){return ident;}
protected void finalize(){
System.out.println("Finalizing "+ident);
}
}
public class References{
private static ReferenceQueue<VeryBig> rq=new ReferenceQueue<VeryBig>();
public static void checkQueue(){
Reference<? extends VeryBig> inq=rq.poll();
if(inq!=null)
System.out.println("In queue: "+inq.get());
}
public static void main(String[] args){
int size=10;
if(args.length>0)
size=new Integer(args[0]);
LinkedList<SoftReference<VeryBig>> sa=new
LinkedList<SoftReference<VeryBig>>();
for(int i=0;i<size;i++){
sa.add(new SoftReference<VeryBig>(new VeryBig("Soft "+i),rq));
System.out.println("Just created: "+sa.getLast());
checkQueue();
}
}
}
checkQueue()方法是什么意思??,为什么运行结果inq的值为空???
我不太懂JDK里面关于ReferenceQueue类中poll()方法里 “可用引用对象” 说的是什么,就解析
小唯快跑啊
相关分类