博爲峯Java技術題 ——JavaSE Java NIO Ⅳ

博爲峯小博老師:java

Buffer的常見方法以下所示:app

l flip(): 寫模式轉換成讀模式操作系統

l rewind():將 position重置爲0,通常用於重複讀。code

l clear():清空buffer,準備再次被寫入 (position變成0,limit變成capacity) 。blog

l compact(): 將未讀取的數據拷貝到buffer的頭部位。ip

l mark(): reset():mark 能夠標記一個位置,reset 能夠重置到該位置。ci

l Buffer常見類型: ByteBuffer 、 MappedByteBuffer 、 CharBuffer 、 DoubleBuffer 、 FloatBuffer 、 IntBuffer 、 LongBuffer 、 ShortBuffer 。get

[通道Channel]it

通道(Channel)是 java.nio 的第二個主要創新。它們既不是一個擴展也不是一項加強,而是全新、極好的 Java I/O 示例,提供與 I/O 服務的直接鏈接。Channel 用於在字節緩衝區和位於通道另外一側的實體(一般是一個文件或套接字)之間有效地傳輸數據。io

通道是一種途徑,藉助該途徑,能夠用最小的總開銷來訪問操做系統自己的 I/O 服務。緩衝區則是通道內部用來發送和接收數據的端點。通道channel充當鏈接I/O服務的導管,入下圖所示:

相關文章
相關標籤/搜索