这个是会释放的.
类对类成员的管理也只是保留了类成员的引用而已. 而类成员并没有反向引用类.
所以对类设置NULL后,没有指向该类的引用了.所以该类可以被回收.

解决方案 »

  1.   

    tt.new nothing("uno");   这里创建的对象是会被释放的。 
    但你可能理解错了?   因为即使ll=null; System.gc(); ll对应的内存对象立刻被释放掉,
     后面System.out.println(lll); 依然可以打印出"uno",  因为ll.hah也只是引用了一个String对象, lll同样引用这个String("uno")。
    虽然ll被清理, 但这个String对象还是存在的, 它还有一处引用就是lll。你不能从是否打印出null来看ll 是否被回收
      

  2.   

    会释放的,明显是 被释放了 啊,没看都设置为null了吗,何况ll是基本类型,会自动制定到内存中,
      

  3.   

    还是会回收的,因为ll.hah是基本类型
      

  4.   


    ||这个对象不会被立即释放掉吧,应该是等GC自己来释放。||=null这里释放的是||指向uno的引用吧
      

  5.   

    我把||=null去掉,gc只回收了||这个对象的引用,|||对象依然存在,这是怎么回事?调用system.gc()不是释放当前内存么。
      

  6.   

    如果没有一个引用指向这个对象,java虚拟机就会释放这个垃圾对象,程序员完全不用理会。
      

  7.   

    释放不释放只要自己测试一下就OK了。你可以重写finalize方法,在里面打印提示信息,运行一遍看提示信息是否打印就知道了。
      

  8.   

    忘了说结论了,只要没有引用指向的对象照理说都应该被回收,但是垃圾回收机制什么时候回收也不确定。如果不显示调用System.gc()的话,也不会被回收,但是显示调用肯定被回收,即释放。