Java NIO組件


在Java中,NIO讀寫是I/O的基本過程。 從通道讀取:創建一個緩衝區,然後請求通道讀取數據。通道寫入:創建一個緩衝區,填充數據,並要求通道寫入數據。

讀寫操作的核心部件:

  • Channels
  • Buffers
  • Selectors
    Java NIO還有其它更多的組件和類,但是Channel,Buffer和Selector用作API的核心。

通道和緩衝區

讀取操作:
在這裏插入圖片描述
數據寫入操作:
在這裏插入圖片描述

通道列表:

在Java NIO中,主要使用的通道如下:

  • DatagramChannel
  • SocketChannelFile
  • ChannelServer
  • SocketChannel
    上述通道涵蓋UDP(用戶數據報協議)+ TCP(傳輸控制協議)網絡I/O和文件I/O。

緩衝列表

  • CharBuffer
  • DoubleBuffer
  • IntBuffer
  • LongBuffer
  • ByteBuffer
  • ShortBuffer
  • FloatBuffer
    上述緩衝區覆蓋了通過I/O發送的基本數據類型:characters,double,int,long,byte,short和float。

選擇器

Java NIO提供了“選擇器”的概念。這是一個可以用於監視多個通道的對象,如數據到達,連接打開等。因此,單線程可以監視多個通道中的數據。如果應用程序有多個通道(連接)打開,但每個連接的流量都很低,則可考慮使用它。 例如:在聊天服務器中。下面來看看線程使用選擇器來處理3個通道,如下圖所示:
選擇器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章