亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中Buffer緩沖區(qū)的ByteBuffer類詳解

 更新時(shí)間:2023年10月24日 09:55:44   作者:liyong0829  
這篇文章主要介紹了Java中Buffer緩沖區(qū)的ByteBuffer類詳解,ByteBuffer類是Java NIO庫中的一個(gè)重要類,用于處理字節(jié)數(shù)據(jù),它提供了一種靈活的方式來讀取、寫入和操作字節(jié)數(shù)據(jù),ByteBuffer類是一個(gè)抽象類,可以通過靜態(tài)方法創(chuàng)建不同類型的ByteBuffer對(duì)象,需要的朋友可以參考下

ByteBuffer類

ByteBuffer類內(nèi)部封裝了一個(gè)byte[]數(shù)組,并可以通過一些方法對(duì)這個(gè)數(shù)組進(jìn)行操作。

創(chuàng)建ByteBuffer對(duì)象的三種方式

//方式一:在堆中創(chuàng)建緩沖區(qū):
 public static ByteBuffer allocate(intcapacity)
// 方式二: 在系統(tǒng)內(nèi)存創(chuàng)建緩沖區(qū):
 public static ByteBuffer allocatDirect(int capacity) 
// 方式三:通過數(shù)組創(chuàng)建緩沖區(qū):
 public static ByteBuffer wrap(byte[] arr)

添加數(shù)據(jù)-put

public ByteBuffer put(byte b);
//向當(dāng)前可用位置添加數(shù)據(jù)。
 public ByteBuffer put(byte[] byteArray);
// 向當(dāng)前可用位置添加一個(gè)byte[]數(shù)組
 public ByteBuffer put(byte[] byteArray,int offset,int len);
// 添加一個(gè)byte[]數(shù)組的一部分

容量-capacity

Buffer的容量(capacity)是指:Buffer所能夠包含的元素的最大數(shù)量。定義了Buffer后,容量是不可變的

 public final int capacity();//獲取緩沖數(shù)組的容量

限制-limit

限制limit是指:第一個(gè)不應(yīng)該讀取或?qū)懭朐氐膇ndex索引。緩沖區(qū)的限制(limit)不能為負(fù),并且不能大于容量。 有兩個(gè)相關(guān)方法:

 public int limit()://獲取此緩沖區(qū)的限制。
 public Buffer limit(int newLimit)://設(shè)置此緩沖區(qū)的限制

位置-position

位置position是指:當(dāng)前可寫入的索引。位置不能小于0,并且不能大于"限制"。

結(jié)論: 操作緩沖數(shù)組,其實(shí)就是操作position到limit之間位置上的元素 有兩個(gè)相關(guān)方法:

 public int position()://獲取當(dāng)前可寫入位置索引。
 public Buffer position(int p)://更改當(dāng)前可寫入位置索引。

標(biāo)記-mark

標(biāo)記mark是指:當(dāng)調(diào)用緩沖區(qū)的reset()方法時(shí),會(huì)將緩沖區(qū)的position位置重置為該標(biāo)記的索引。

相關(guān)方法:

 public Buffer mark();//設(shè)置此緩沖區(qū)的標(biāo)記為當(dāng)前的position位置。
 public Buffer reset();//將此緩沖區(qū)的位置重置為以前標(biāo)記的位置。

其它方法

public Buffer clear();//還原緩沖區(qū)的狀態(tài)。
  • 將position設(shè)置為:0
  • 將限制limit設(shè)置為容量capacity;
  • 丟棄標(biāo)記mark。
public Buffer flip();//縮小limit的范圍。
  • 將limit設(shè)置為當(dāng)前position位置;
  • 將當(dāng)前position位置設(shè)置為0;
  • 丟棄標(biāo)記

到此這篇關(guān)于Java中Buffer緩沖區(qū)的ByteBuffer類詳解的文章就介紹到這了,更多相關(guān)Java的ByteBuffer類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論