java.nio.Buffer flip()方法
生活随笔
收集整理的這篇文章主要介紹了
java.nio.Buffer flip()方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
碰到java.nio.Buffer flip()方法,不明白是干什么用的,于是就趕快查看中文API,API上面翻譯的是:"反轉此緩沖區。首先對當前位置設置限制,然后將該位置設置為零。如果已定義了標記,則丟棄該標記。";?
buffer中的flip方法涉及到bufer中的Capacity,Position和Limit三個概念。其中Capacity在讀寫模式下都是固定的,就是我們分配的緩沖大小,Position類似于讀寫指針,表示當前讀(寫)到什么位置,Limit在寫模式下表示最多能寫入多少數據,此時和Capacity相同,在讀模式下表示最多能讀多少數據,此時和緩存中的實際數據大小相同。
在寫模式下調用flip方法,那么limit就設置為了position當前的值(即當前寫了多少數據),postion會被置為0,以表示讀操作從緩存的頭開始讀。也就是說調用flip之后,讀寫指針指到緩存頭部,并且設置了最多只能讀出之前寫入的數據長度(而不是整個緩存的容量大小),為輸出數據做好準備。
總結
以上是生活随笔為你收集整理的java.nio.Buffer flip()方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SelectionKey中定义的4种事件
- 下一篇: NIO : selector、chann