java的IO机制
BIO、NIO、AIO
----->
Block-IO : inputStream 和OutputStream,Reader和Writer
1個(gè)連接,啟動(dòng)一個(gè)線程,這樣導(dǎo)致很大的線程開(kāi)銷
?
?
NIO的特點(diǎn)是:應(yīng)用程序要不斷地詢問(wèn)內(nèi)核,是否已經(jīng)準(zhǔn)備好。
第一階段“”反復(fù)查看數(shù)據(jù):是非阻塞的
第二階段:拷貝數(shù)據(jù)阻塞等待
?
NIO的核心
?
NIO-Channels 的類型有哪些:
1、FileChannel? (文件IO):該接口常被用于?
transferTo-->把FileChannel中的數(shù)據(jù)拷貝到另外一個(gè)channel中。
transferFrom :把另外一個(gè)Channel中的數(shù)據(jù)拷貝到FileChannel中
避免了兩次用戶態(tài)和內(nèi)核態(tài)間的上下文切換,則“零拷貝”,效率高
2、DtagramChannel (UTP網(wǎng)絡(luò)IO)
3、SocketChannel (TCP網(wǎng)絡(luò)IO)
4、ServerSocketChannel?(TCP網(wǎng)絡(luò)IO)
?
轉(zhuǎn)載于:https://www.cnblogs.com/vingLiu/p/10686555.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: 类成员函数作为函数参数/回调函数 出现
- 下一篇: 科大讯飞语音合成api