垃圾回出是的条件是,当对象不再被引用时才能够被回收,并且这指的是堆中的对象。所以我们经常把对象的引用赋值为null进行垃圾回收例如:
  String a = new String();
  a = null可是对于final对象  final String a = new String();
  a = null //final 对象不能赋值那么是不是说明final对象在程序运行期间永远不会被回收?

解决方案 »

  1.   

    应该是和类的生命周期一样吧。
    应该可以帮助你吧。
    http://topic.csdn.net/u/20080420/16/29aff093-650c-418f-a1a5-7353ef30bdc0.html
      

  2.   

    String 类是final的,可以被回收,那么你定义的final变量也应该在变量所属类消亡的时候被回收。
      

  3.   

    其实不需要 = null的。
    大多数的代码都没有这么写。
      

  4.   

    垃圾回收的条件是,当对象不再被引用时才能够被回收,并且这指的是堆中的对象。
    一般将不用的对象赋为null,只是说可以提升垃圾回收的性能。因为垃圾回收机制什么时候回收都是不确定的。而一个final对象,只要你以后没不再使用它的引用,最终还是会被回收的。