十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問題一站解決
Java 中的 AutoCloseable 接口解析?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
try-with-resources語(yǔ)法比較容易使用,一般隨便搜索看下示例代碼就能用起來(lái)了。JDK 對(duì)這個(gè)語(yǔ)法的支持是為了更好的管理資源,準(zhǔn)確說(shuō)是資源的釋放。
當(dāng)一個(gè)資源類實(shí)現(xiàn)了該接口close方法,在使用try-with-resources語(yǔ)法創(chuàng)建的資源拋出異常后,JVM會(huì)自動(dòng)調(diào)用close 方法進(jìn)行資源釋放;當(dāng)沒有拋出異常正常退出try代碼塊時(shí)也會(huì)自動(dòng)調(diào)用close方法。像數(shù)據(jù)庫(kù)鏈接類Connection,io類 InputStream 或 OutputStream 都直接或者間接實(shí)現(xiàn)了該接口。
下面我們通過代碼示例來(lái)了解如何使用,首先創(chuàng)建一個(gè)實(shí)現(xiàn)了AutoCloseable接口的類:
public class Resource implements AutoCloseable{ public void read() { System.out.println("do something"); } @Override public void close() throws Exception { System.out.println("closed"); } }