如果我们在java中使用flush()而不是close()方法,PrintWriter对象是否会被垃圾收集?

时间:2017-01-03 07:15:59

标签: java garbage-collection printwriter

在下面的代码中,我将消息(broadcastMsg)发送到clientSocketLister中指定的所有套接字连接列表。

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);
}

1 个答案:

答案 0 :(得分:0)

PrintWriter对象没有更多可访问的对象时,它就有资格获得GC。是否已经或没有调用close()与它无关。