垃圾收集几乎是每个开发人员都喜爱的一个 Java 平台特性,它简化了开发,消除了所有种类的潜在代码错误。可尽管垃圾收集一般来说可以让您无需进行资源治理,有时候您还是必须自己进行一些内务处理。在本文中,Brian Goetz 讨论了垃圾收集的局限性,并指出了您必须自己做内务处理的场景。
小时候,父母总是叮嘱我们玩了玩具之后要收好。假如您仔细想想,其实这种唠叨并不过分,要保持整洁是因为存在实际的限制,房间里没有太多的空间,假如到处堆满了玩具,那么连走路都无处下脚了。
假如有了足够的空间,保持整洁就不是那么必要了。空间越多,就越不必要保持整洁。Arlo Guthrie 闻名的民谣 Alice's Restaurant Massacre 说明了这一点:
他们住在教堂楼下的大厅,里面的椅子全都搬走了,剩下一个空荡荡的大房间,所以他们想,很长时间都不用把垃圾扔出去,有的是地方装垃圾……
无论如何,垃圾收集可以帮我们减轻内务整理方面的工作。
显式地释放资源
Java 程序中使用的绝大多数资源都是对象,垃圾收集在清理对象方面做得很...[ 查看全文 ]