1

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

4

1 回答 1

0

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

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

于 2013-04-01T22:14:44.943 回答