1. 程式人生 > >流操作時為什麼要關閉流

流操作時為什麼要關閉流


需要自己close的東西,一般都是用了虛擬機器之外的資源,例如埠,視訊記憶體,檔案等,虛擬機器無法通過垃圾回收釋放這些資源,只能你顯式呼叫close方法來釋放。

許多情況下,如果在一些比較頻繁的操作中,不對流進行關閉,很容易出現輸入輸出流經超越了JVM的邊界,所以有時可能無法回收資源。
所以操作的時候凡是跨出虛擬機器邊界的資源都要求程式設計師自己關閉,不要指望垃圾回收。

你讀一個檔案,忘記關閉了流,你在作業系統裡對這個檔案的寫,刪除等操作就會報錯,告訴你這個檔案被某個程序佔用。