Animals

          One thing I know,that is I know nothing. -- Socrates Greek
          隨筆 - 2, 文章 - 0, 評(píng)論 - 2, 引用 - 0
          數(shù)據(jù)加載中……

          java.nio.ByteBuffer中flip、rewind、clear方法的區(qū)別

          對(duì)緩沖區(qū)的讀寫操作首先要知道緩沖區(qū)的下限、上限和當(dāng)前位置。下面這些變量的值對(duì)Buffer類中的某些操作有著至關(guān)重要的作用:
          1. limit:所有對(duì)Buffer讀寫操作都會(huì)以limit變量的值作為上限。
          2. position:代表對(duì)緩沖區(qū)進(jìn)行讀寫時(shí),當(dāng)前游標(biāo)的位置。
          3. capacity:代表緩沖區(qū)的最大容量(一般新建一個(gè)緩沖區(qū)的時(shí)候,limit的值和capacity的值默認(rèn)是相等的)。
          flip、rewind、clear這三個(gè)方法便是用來(lái)設(shè)置這些值的。

          clear方法

          public final Buffer clear()
          {
              position 
          = 0//重置當(dāng)前讀寫位置
              limit = capacity; 
              mark 
          = -1;  //取消標(biāo)記
              return this;
          }



          clear方法將緩沖區(qū)清空,一般是在重新寫緩沖區(qū)時(shí)調(diào)用。

          flip方法

          public final Buffer flip() {
          limit
          = position;
          position
          = 0;
          mark
          = -1;
          return this;
          }
          反轉(zhuǎn)緩沖區(qū)。首先將限制設(shè)置為當(dāng)前位置,然后將位置設(shè)置為 0。如果已定義了標(biāo)記,則丟棄該標(biāo)記。 常與compact方法一起使用。通常情況下,在準(zhǔn)備從緩沖區(qū)中讀取數(shù)據(jù)時(shí)調(diào)用flip方法。

          rewind方法


          1public final Buffer rewind() {
          2 position = 0;
          3 mark = -1;
          4 return this;
          5}



          以上三種方法均使用final修飾,java.nio.Buffer的所有子類均使用同一種flip、clear和rewind機(jī)制。

          posted on 2013-06-18 17:32 sdjxsgb 閱讀(21841) 評(píng)論(2)  編輯  收藏

          評(píng)論

          # re: java.nio.ByteBuffer中flip、rewind、clear方法的區(qū)別  回復(fù)  更多評(píng)論   

          感謝樓主分享
          2013-06-20 13:29 | 開發(fā)吧

          # re: java.nio.ByteBuffer中flip、rewind、clear方法的區(qū)別[未登錄](méi)  回復(fù)  更多評(píng)論   

          樓主這分享簡(jiǎn)潔明了,很受用感謝樓主了
          2015-07-12 21:59 | troy

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 阳信县| 磴口县| 林周县| 朝阳区| 且末县| 会昌县| 肃宁县| 独山县| 镇安县| 晋中市| 涟源市| 绥阳县| 邮箱| 大安市| 汾西县| 侯马市| 琼中| 保定市| 丰镇市| 大同市| 班戈县| 武威市| 义马市| 阿城市| 新河县| 深圳市| 阿荣旗| 湘乡市| 新密市| 大洼县| 五指山市| 江孜县| 义乌市| 桑植县| 外汇| 铁岭市| 奉化市| 崇州市| 靖远县| 新巴尔虎左旗| 永济市|