文章來自:http://www.reibang.com/p/465ecd909f8c
Java NIO(New IO)是一個可以替代標(biāo)準(zhǔn)Java IO API的IO API(從Java 1.4開始)啃勉,Java NIO提供了與標(biāo)準(zhǔn)IO不同的IO工作方式。
Java NIO: Channels and Buffers(通道和緩沖區(qū))
標(biāo)準(zhǔn)的IO基于字節(jié)流和字符流進(jìn)行操作的,而NIO是基于通道(Channel)和緩沖區(qū)(Buffer)進(jìn)行操作,數(shù)據(jù)總是從通道讀取到緩沖區(qū)中例驹,或者從緩沖區(qū)寫入到通道中弥搞。
Java NIO: Non-blocking IO(非阻塞IO)
Java NIO可以讓你非阻塞的使用IO荣堰,例如:當(dāng)線程從通道讀取數(shù)據(jù)到緩沖區(qū)時阔挠,線程還是可以進(jìn)行其他事情牛隅。當(dāng)數(shù)據(jù)被寫入到緩沖區(qū)時,線程可以繼續(xù)處理它酌泰。從緩沖區(qū)寫入通道也類似媒佣。
Java NIO: Selectors(選擇器)
Java NIO引入了選擇器的概念,選擇器用于監(jiān)聽多個通道的事件(比如:連接打開陵刹,數(shù)據(jù)到達(dá))丈攒。因此,單個的線程可以監(jiān)聽多個數(shù)據(jù)通道授霸。
下面為正文鏈接列表
Java NIO 教程(一) 概述
Java NIO 教程(二) Channel
Java NIO 教程(三) Buffer
Java NIO 教程(四) Scatter/Gather
Java NIO 教程(五) 通道之間的數(shù)據(jù)傳輸
Java NIO 教程(六) Selector
Java NIO 教程(七) FileChannel
Java NIO 教程(八) SocketChannel
Java NIO 教程(九) ServerSocketChannel
Java NIO 教程(十) 非阻塞式服務(wù)器
Java NIO 教程(十一) Java NIO DatagramChannel
Java NIO 教程(十二) Pipe
Java NIO 教程(十三) Java NIO vs. IO
Java NIO 教程(十四) Java NIO Path
Java NIO 教程(十五) Java NIO Files
Java NIO 教程(十六) Java NIO AsynchronousFileChannel
作者:步積鏈接:http://www.reibang.com/p/465ecd909f8c來源:簡書著作權(quán)歸作者所有巡验。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處碘耳。