日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

淺談JavaIO之try with底層原理

瀏覽:37日期:2022-08-11 13:28:29
目錄IO關閉的問題使用try with resourcetry with resource的原理自定義resourceIO關閉的問題

最近寫了一個例子,讀取一個文件沒有問題,但是讀取很多個文件就會告訴我:”Can’t open so many files“,能幫我看看是什么問題嗎?可能打開文件太多了吧,用兩個命令,查看最大文件打開限制。

一個命令是

ulimit -a

淺談JavaIO之try with底層原理

第二個命令是

ulimit -n

256

看起來是最大文件限制太小了,只有256個,調大一點就可以了。

讀文件都是一個一個讀的,沒有同時開這么多文件

好吧,看下寫的代碼吧:

BufferedReader bufferedReader = null;try { String line; bufferedReader = new BufferedReader(new FileReader('trywith/src/main/resources/www.flydean.com')); while ((line = bufferedReader.readLine()) != null) {log.info(line); }} catch (IOException e) { log.error(e.getMessage(), e);}

看完代碼,問題找到了,IO沒有關閉,應該在使用之后,在finally里面把你的reader關閉。

下面這段代碼就行了:

BufferedReader bufferedReader = null;try { String line; bufferedReader = new BufferedReader(new FileReader('trywith/src/main/resources/www.flydean.com')); while ((line = bufferedReader.readLine()) != null) {log.info(line); }} catch (IOException e) { log.error(e.getMessage(), e);} finally { try {if (bufferedReader != null){ bufferedReader.close();} } catch (IOException ex) {log.error(ex.getMessage(), ex); }}使用try with resource

現在每段代碼都要手動添加finally,實在是太麻煩了,很多時候又怕忘記關閉IO了,導致程序出現無法預料的異常。

從JDK7開始,Java引入了try with resource的新功能,把使用過后要關閉的resource放到try里面,JVM會幫你自動close的,是不是很方便,來看下面這段代碼:

try (BufferedReader br = new BufferedReader(new FileReader('trywith/src/main/resources/www.flydean.com'))){ String sCurrentLine; while ((sCurrentLine = br.readLine()) != null){log.info(sCurrentLine); }} catch (IOException e) { log.error(e.getMessage(), e);}try with resource的原理

什么是resource呀?為什么放到try里面就可以不用自己close了?

resource就是資源,可以打開個關閉,我們可以把實現了java.lang.AutoCloseable接口的類都叫做resource。

先看下AutoCloseable的定義:

public interface AutoCloseable {void close() throws Exception;}

AutoCloseable定義了一個close()方法,當我們在try with resource中打開了AutoCloseable的資源,那么當try block執行結束的時候,JVM會自動調用這個close()方法來關閉資源。

我們看下上面的BufferedReader中close方法是怎么實現的:

public void close() throws IOException { synchronized (lock) {if (in == null) return;in.close();in = null;cb = null; }}自定義resource

那么我們是不是可以實現AutoCloseable來創建自己的resource呢?

我們定義這樣一個resource類:

public class CustResource implements AutoCloseable { public void helpSister(){log.info('解決問題!'); } @Override public void close() throws Exception {log.info('解決完問題,趕緊去吃飯!'); } public static void main(String[] args) throws Exception { try( CustResource custResource= new CustResource()){ custResource.helpSister(); } }}

運行輸出結果

[main] INFO com.flydean.CustResource - 解決問題!

[main] INFO com.flydean.CustResource - 解決完問題,趕緊去吃飯!

以上就是淺談JavaIO之try with底層原理的詳細內容,更多關于JavaIO之try with底層原理的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久一区二区三区电影| 国产精品久久久久久久久久10秀| 日韩在线不卡| 国产精品综合色区在线观看| 日本在线不卡视频一二三区| 日韩中文字幕不卡| 在线视频免费在线观看一区二区| 99热精品久久| 日韩一区二区在线免费| 日韩国产一区二区三区| 精品国产成人| 荡女精品导航| 福利片在线一区二区 | 日韩一区二区免费看| 自由日本语亚洲人高潮| 日韩一级网站| 亚洲一区二区三区四区五区午夜 | 97精品国产| 日本蜜桃在线观看视频| 久久久夜精品| 国产精品av久久久久久麻豆网| 亚洲欧美综合| 99视频在线精品国自产拍免费观看| 不卡在线一区| 日韩午夜高潮| 另类国产ts人妖高潮视频| 蜜臀精品久久久久久蜜臀 | 国产经典一区| 超碰99在线| 国产精品字幕| 香蕉精品视频在线观看| 亚洲欧美视频| 91成人小视频| 麻豆久久一区二区| 欧美天堂视频| 午夜久久美女| 日本一区免费网站| 久久精品系列| 久久国产亚洲精品| 久久一二三区| 国产麻豆一区二区三区精品视频| 亚洲天堂免费| 国产精品嫩模av在线| 精品国产麻豆| 91综合视频| 91成人精品| 日韩高清欧美激情| 国产在视频一区二区三区吞精| 久久久久久久久久久9不雅视频| 日韩一级网站| 国产精品第十页| 欧美日韩水蜜桃| 日韩一区二区三区在线看| 久久中文字幕一区二区三区| av高清一区| 天堂va欧美ⅴa亚洲va一国产| 精品国产一区二| 欧美日韩三区| 国产九九精品| 99视频精品全部免费在线视频| 在线免费观看亚洲| 精品日韩一区| 亚洲一区成人| 精品三级国产| 亚洲免费网址| 精品国产不卡一区二区| 男女精品网站| 国产一区调教| 亚洲人成网77777色在线播放 | 国产精品a久久久久| 香蕉人人精品| 欧美日韩亚洲一区二区三区在线 | 日本免费新一区视频| 日韩国产激情| 国产亚洲一区| 夜久久久久久| 国产在视频一区二区三区吞精| 亚洲综合三区| 国产乱码午夜在线视频| 日韩动漫一区| 亚洲天堂成人| 久久香蕉精品香蕉| 久久亚洲风情| 天堂8中文在线最新版在线| 日本成人精品| 婷婷亚洲综合| 国产高清日韩| 综合精品一区| 久久国产电影| 精品国产99| 亚洲精品影院在线观看| 久久精品电影| 麻豆精品久久久| 亚洲精品亚洲人成在线观看| 蜜桃成人精品| 麻豆精品在线视频| 亚洲人成亚洲精品| 亚洲性视频h| 成人在线视频中文字幕| 日韩高清电影免费| 爽好久久久欧美精品| 日产精品一区二区| 国产欧美一区二区三区国产幕精品 | 日韩va欧美va亚洲va久久| 欧美久久精品一级c片| 国产一区不卡| 国产精品一区免费在线| 亚洲五月综合| 国产精品试看| 99国产精品一区二区| 精品国产精品国产偷麻豆| 国产亚洲在线观看| 久久香蕉国产| 日韩免费小视频| 久久精品一本| 国产精品网站在线看| 婷婷成人av| 蜜桃一区二区三区在线观看| 精品欧美激情在线观看| 在线成人动漫av| 日韩成人高清| av中文资源在线资源免费观看| 免费在线成人| 国产精品免费99久久久| 欧美日韩在线精品一区二区三区激情综合 | 免费观看不卡av| 亚洲黄色中文字幕| 麻豆网站免费在线观看| 黄色aa久久| 免费观看亚洲| 亚洲四虎影院| 1024精品一区二区三区| 国产在线成人| 欧美精品羞羞答答| 在线亚洲精品| 亚洲视频二区| 日韩欧美三区| 亚洲精品系列| 欧美中文一区| 国产精品xxxav免费视频| 美腿丝袜亚洲一区| 国产96在线亚洲| 蜜桃av.网站在线观看| 久久精品国内一区二区三区水蜜桃| 日本欧美不卡| 五月天av在线| se01亚洲视频 | 石原莉奈一区二区三区在线观看 | 久久激情婷婷| 色爱av综合网| 日韩免费av| zzzwww在线看片免费| 久久国产免费看| 精品一区二区三区视频在线播放| 欧美日一区二区三区在线观看国产免 | 99在线观看免费视频精品观看| 韩国精品主播一区二区在线观看| 精品日本视频| 国产成人精品一区二区三区在线| 欧美国产日本| 国产精品第一国产精品| 色婷婷综合网| 日韩综合在线| 日本国产精品| 亚洲欧美综合| 久久国产精品久久久久久电车| 日韩精品福利一区二区三区| 青青草精品视频| 日韩高清不卡在线| 欧美亚洲国产日韩| 欧美国产极品| 99视频精品免费观看| 视频一区日韩精品| 日韩精品一区二区三区中文| 国产一级成人av| 麻豆国产精品| 欧美韩一区二区| 水蜜桃精品av一区二区| 日本欧美不卡| 99久久久久国产精品| 一本一本久久| 亚洲久久视频| 亚洲精品看片| 日韩精品高清不卡| 欧美国产另类| 日韩成人免费| 欧美日韩尤物久久| 亚洲一区二区小说| 国产欧美一区二区三区米奇| 美腿丝袜亚洲一区| 久久久亚洲一区| 在线免费观看亚洲| 国产精品一区二区中文字幕| 日韩av片子| 妖精视频成人观看www| 青青在线精品| 欧美日韩国产欧| 天堂久久av| 精品亚洲精品| 欧美日韩国产高清|