首先,我們都知道當(dāng)我們new一個(gè)java流對(duì)象之后,不僅在計(jì)算機(jī)內(nèi)存中創(chuàng)建了一個(gè)相應(yīng)類(lèi)的實(shí)例對(duì)象。而且,還占用了相應(yīng)的系統(tǒng)資源,比如:文件句柄、端口、數(shù)據(jù)庫(kù)連接等。
(相關(guān)學(xué)習(xí)視頻教程分享:java視頻教程)
在內(nèi)存中的實(shí)例對(duì)象,當(dāng)沒(méi)有引用指向的時(shí)候,java垃圾收集器會(huì)按照相應(yīng)的策略自動(dòng)回收,但是卻無(wú)法對(duì)系統(tǒng)資源進(jìn)行釋放。所以,我們需要主動(dòng)調(diào)用close()
方法釋放java流對(duì)象。
在java7之后,可以使用try-with-resources
語(yǔ)句來(lái)釋放java流對(duì)象,從而避免了try-catch-finally語(yǔ)句的繁瑣,尤其是在finally子句中,close()方法也會(huì)拋出異常。
相關(guān)文章教程推薦:java入門(mén)教程