关闭FileInputStream并将其设置为null之间的区别

时间:2013-04-01 01:25:48

标签: null garbage-collection fileinputstream

在Java中,当我们关闭像Connection,FileInputStream,FileOutputStream这样的资源时,它与将这些对象实例设置为null有什么不同?即在这两种情况下,这些对象都有资格进行垃圾收集。那么为close方法提供这些类的目的是什么?

1 个答案:

答案 0 :(得分:0)

IO类的close方法通常用于执行清理任务,例如关闭文件处理程序,刷新和关闭套接字。这些清理任务纯粹与分配无关,GC本身无法处理它们。

此外,将参考设置为null以明确声明该对象将不再使用不是推荐的编码习惯。当对象不再可访问时,GC将自动处理这些情况。明确的null设置只会使您的源代码混乱。