1. 程式人生 > >NIO入門(一):快速瞭解NIO

NIO入門(一):快速瞭解NIO

 

1.Java NIO: Non-blocking IO(非阻塞IO)
(1)java NIO可以非阻塞的使用IO (例如:當執行緒從通道讀取資料到緩衝區時,執行緒還是可以進行其他事情。)
(2)NIO和IO有相同的作用和目的,但實現方式不同
  IO     面向流      阻塞IO
  NIO  面向緩衝   非阻塞IO     選擇器
(3)在Java API中提供了兩套NIO:針對標準輸入輸出、網路程式設計。

2 .核心API: Channel、Buffer、Selector


  Channel (通道) and Bufffer (快取區)
標準的IO基於位元組流和字元流進行操作的;
NIO是基於通道(Channel)和緩衝區(Buffer)進行操作
  Selector(選擇器)
選擇器用於監聽多個通道的事件(比如:連線開啟,資料到達)。因此,單個的執行緒可以監聽多個數據通道。