如果我们在 java 中使用 flush() 而不是 close() 方法,PrintWriter 对象会被垃圾回收吗?
Will the PrintWriter object will be garbage collected if we use flush() but not close() method in java?
在下面的代码中,我向 clientSocketLister 中指定的所有套接字连接列表发送消息 (broadcastMsg)。
PrintWriter 对象已初始化并启用了 autoFlush!
我的问题是 - 即使没有关闭流的 close() 方法,for 循环中创建的 PrintWriter 也会被垃圾回收吗?
请帮忙!!
for(int i = 0; i < size; i++)
{
Socket clientSocket = (Socket)clientSocketLister.get(i);
//PrintWriter with autoFlush enabled
PrintWriter writer = new PrintWriter(clientSocket.getOutputStream(), true);
writer.println(broadcastMsg);
}
当没有更多可访问的引用时,PrintWriter
对象符合 GC 条件。它是否调用过 close()
与它无关。
在下面的代码中,我向 clientSocketLister 中指定的所有套接字连接列表发送消息 (broadcastMsg)。
PrintWriter 对象已初始化并启用了 autoFlush!
我的问题是 - 即使没有关闭流的 close() 方法,for 循环中创建的 PrintWriter 也会被垃圾回收吗?
请帮忙!!
for(int i = 0; i < size; i++)
{
Socket clientSocket = (Socket)clientSocketLister.get(i);
//PrintWriter with autoFlush enabled
PrintWriter writer = new PrintWriter(clientSocket.getOutputStream(), true);
writer.println(broadcastMsg);
}
当没有更多可访问的引用时,PrintWriter
对象符合 GC 条件。它是否调用过 close()
与它无关。