2013-05-29 70 views
2

快速的問題:Java 6的插座垃圾回收

如果一個Socket對象(其本地緩存InputStream和OutputStream對象)超出範圍和回收垃圾,並連接在JVM中保持開放? (也就是說,在監聽服務器上不會拋出EOFException)

回答

6

不,終結器(一些與套接字相關的對象)將最終關閉套接字......至少在任何理智的實現中,IMO,就像任何其他非內存資源(文件句柄等)。這將發生在垃圾收集器的時間的突發事件 - 雖然我會認爲這是一個編程錯誤,有效。

+0

對不起,2年後問這個,但你可以建議一些良好的做法,以防止這:) – Dexter