java的解释系统里,垃圾回收是以一个独立的线程不断的工作来完成。至于对象不被引用,
我是简单的理解为不被引用(使用),不被参考(出现)。

解决方案 »

  1.   

    大概就是:没有任何reference指向这个对象。当然另外还有一些较为复杂的情况会影响上述“GC-ready判定算法”,但一般来说
    就是这样。
      

  2.   

    一个简单的判断,在变量超出运行期后回收,如:
    void a(){
       Integer v;
        ……
    }
    遇到右大扩号时,v自动回收,无须delete。大部分的判断基于对象的作用范围,见Thinking in java,c#中据说也有该功能。
      

  3.   

    一个最简单的例子
    Float f = new Float(0);
    f=null; //<---------这时的new 的Float(0)不再被任何对象引用,可以被GC