天天看点

学习 java 各种Reference遇到的问题

  最近学习啦下java引用,但在实验过程中被搞的莫名其妙,直接上代码、

public static void

main(String[] args)

    {

       ReferenceQueue<String> rq =

new

ReferenceQueue<String>();// 引用队列

       WeakReference<String> pr =

WeakReference<String>("weak", rq);

       Reference<?

extends

String> ref =

null

;

while

((ref = rq.poll()) ==

)

       {

           System.gc();

       }

       System.out.println(ref == pr);

    }

结果是,程序一直在处于循环,不能结束,