Java NIO 學習總結 學習手冊

  • Channels   通道 Channel 有點象流。 數據能夠從Channel讀到Buffer中,也能夠從Buffer 寫到Channel中。
  • Buffers  Buffer覆蓋了你能經過IO發送的基本數據類型:byte, short, int, long, float, double 和 char
  • Selectors   Selector容許單線程處理多個 Channel。若是你的應用打開了多個鏈接(通道),但每一個鏈接的流量都很低,使用Selector就會很方便。

Channels and Buffers(通道和緩衝區)html

標準的IO基於字節流和字符流進行操做的,而NIO是基於通道(Channel)和緩衝區(Buffer)進行操做,數據老是從通道讀取到緩衝區中,或者從緩衝區寫入到通道中。java

Selectors(選擇器)git

Java NIO引入了選擇器的概念,選擇器用於監聽多個通道的事件(好比:鏈接打開,數據到達)。所以,單個的線程能夠監聽多個數據通道。github

Non-blocking IO(非阻塞IO)編程

Java NIO能夠讓你非阻塞的使用IO,例如:當線程從通道讀取數據到緩衝區時,線程仍是能夠進行其餘事情。當數據被寫入到緩衝區時,線程能夠繼續處理它。從緩衝區寫入通道也相似。服務器

github NIOdemo地址:https://github.com/loveincode/StudyTest/tree/master/src/NIO併發

學習手冊

Java NIO 教程             6 Java NIO 通道之間的數據傳輸        11 Java NIO 非阻塞式服務器socket

Java NIO概述           7 Java NIO Selector                 12 Java NIO DataGramChannelasync

Java NIO Channel         8 Java NIO FileChannel           13 Java NIO Pipepost

Java NIO Buffer          9 Java NIO SocketChannel           14 Java NIO 與IO

Java NIO Scatter / Gather        10 Java NIO ServerSocketChannel           15 Java NIO Path (待翻譯)

 

16 Java NIO Files (待翻譯)

17 Java NIO AsynchronousFileChannel (待翻譯)

 原文 併發編程網(翻譯):http://ifeve.com/java-nio-all/  源自 http://tutorials.jenkov.com/java-nio/index.html

JavaIO學習手冊 : Java IO 學習總結 學習手冊總結

相關文章
相關標籤/搜索