1.主體部分
- Buffer緩衝區:數據處理的基礎單元,客戶端發送與接收數據都需通過Buffer進行轉發
- Channel通道:Buffer傳輸的通道,類似於流,但不同於IN/OUT Stream;流具有獨佔性與單向性;通道則偏向於數據流通多樣性
- Socket選擇器:處理客戶端所有事件的分發器
2. Charset擴展部分
- Charset字符編碼:加密解密
- 原生支持的、數據通道級別的數據處理方式,可以用於數據傳輸級別的數據加密、解密等操作
3. Buffer
- Buffer包括ByteBuffer、CharBuffer、ShortBuffer、IntBuffer、LongBuffer、FloatBuffer、DoubleBuffer
- 寫數據時,先寫入Buffer,後傳入Channel。即Buffer->Channel
- 讀數據時,先從Channel讀,後存入Buffer。即Channel->Buffer
- 爲NIO塊狀操作提供基礎,數據都按“塊”進行傳輸
4. Channel
- 可從通道中獲取數據也可輸出數據到通道;按“塊”Buffer進行
- 可併發可異步讀寫數據
- 讀數據時讀取到Buffer,寫數據必須通過Buffer寫數據
- Channel包括FileChannel、SocketChannel、DatagramChannel、ServerSocketChannel