首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java NIO Channel 核心用法總結

     編輯:Java 相關知識

Java NIO Channel 核心用法總結。本站提醒廣大學習愛好者:此文章僅供參考,不一定能完全符合您的需求。以下是完整總結正文


本文實例總結了 Java 中 Channel 用法。分享給大家供參考。詳細分析如下:

  1. Channel 介面定義:
    public interface Channel {
        public boolean isOpen();
        public void close() throws IOException;
    }
  2. 常見 Channel 型別:FileChannel、SocketChannel、ServerSocketChannel、DatagramChannel。
    FileChannel 透過 RandomAccessFile、FileInputStream、FileOutputStream 的 getChannel() 取得。
    SocketChannel、ServerSocketChannel、DatagramChannel 透過 open() 及 connect/bind 建立。
  3. Scatter/Gather 需使用 ByteBuffer.allocateDirect(100)。
    ScatteringByteChannel 與 GatheringByteChannel 介面定義 read/write 陣列緩衝區方法。
  4. File lock 是針對檔案而非 Channel,對程序有效而非執行緒。可透過記憶體映射檔案實現執行緒同步。
  5. MappedByteBuffer 為 direct buffer。load() 嘗試載入整個檔案到記憶體,force() 將資料刷入硬碟。
  6. 未綁定埠的 DatagramChannel 系統會自動分配埠。connect() 後可保證只接收指定來源的資料包,此時可使用一般 read/write 含 Scatter/Gather。

希望本文所述對大家的 Java 程式設計有所幫助。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved