Java的垃圾收集 - 将每个被明确认为是好风格的对象归零?

Nik*_*ita 4 java garbage-collection coding-style

有人最近向我建议,为了避免占用内存,Java应用程序应始终在可能的情况下(通过将其设置为null)销毁此方法结束时在方法中创建的所有对象.

我之前没有经常这样做,从我的观点来看,它似乎首先打败了垃圾收集器的目的.当这个策略有用时,是否有任何指导/推理?如果你小心对象,你有没有必要面对申请?

rec*_*ive 7

设置对null的引用不会破坏对象.它只是消除了对它们的一个引用.为了释放内存,仍然需要垃圾收集器.对于本地范围的变量,这根本没有区别.

  • 调用`Runtime.gc()`通常是没有意义的.当VM需要内存时,GC将启动.在每种方法结束时调用它只会浪费时间. (3认同)
  • @Mathias - 调用`Runtime.gc()`通常是没有意义的*而且价格昂贵*. (2认同)