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

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

標準輸入 使用 sel ont 監聽 輸入輸出 多個 spa 目的

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(選擇器)
選擇器用於監聽多個通道的事件(比如:連接打開,數據到達)。因此,單個的線程可以監聽多個數據通道。

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