最近学习啦下java引用,但在实验过程中被搞的莫名其妙,直接上代码、
public static voidmain(String[] args)
{
ReferenceQueue<String> rq =
newReferenceQueue<String>();// 引用队列
WeakReference<String> pr =
WeakReference<String>("weak", rq);
Reference<?
extendsString> ref =
null;
while((ref = rq.poll()) ==
)
{
System.gc();
}
System.out.println(ref == pr);
}
结果是,程序一直在处于循环,不能结束,