欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java8中NIO緩沖區(qū)(Buffer)的數(shù)據(jù)存儲(chǔ)詳解

 更新時(shí)間:2019年04月17日 08:45:21   投稿:laozhang  
在本篇文章中小編給大家分享了關(guān)于java8中NIO緩沖區(qū)(Buffer)的數(shù)據(jù)存儲(chǔ)的相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。

java8新特性NIO緩沖區(qū)(Buffer)的數(shù)據(jù)存儲(chǔ)。

ByteBuffer,CharBuffer,ShortBuffer,IntBuffer,LongBuffer,FloatBuffer,

DoubleBuffer.

1、緩沖區(qū)在java nio中負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)。緩沖區(qū)就是數(shù)組。用于存儲(chǔ)不同數(shù)據(jù)類型的數(shù)據(jù)。根據(jù)數(shù)據(jù)類型不同(boolean除外),提供了相應(yīng)類型的緩沖區(qū)。

ByteBuffer,CharBuffer,ShortBuffer,IntBuffer,LongBuffer,FloatBuffer,

DoubleBuffer.

上述緩沖區(qū)的管理方式幾乎一致,通過allocate()獲取緩沖區(qū)。

//分配一個(gè)指定大小的緩沖區(qū)ByteBuffer byteBuffer = ByteBuffer.allocate(1024);

2、緩沖區(qū)中的四個(gè)核心屬性:

capacity:容量,表示緩沖區(qū)中最大存儲(chǔ)數(shù)據(jù)的容量。一旦聲明不能改變。

3、limit:界限,表示緩沖區(qū)中可以操作數(shù)據(jù)的大小。(limit后所得數(shù)據(jù)不能進(jìn)行讀寫)。

4、position:位置,表示緩沖區(qū)中正在操作數(shù)據(jù)的位置。

position<=limit<=capacity

5、ByteBuffer的基本使用。

緩沖區(qū)存取數(shù)據(jù)的兩個(gè)核心方法:

put():存入數(shù)據(jù)到緩沖區(qū)

 

//分配一個(gè)指定大小的緩沖區(qū)

ByteBuffer byteBuffer = ByteBuffer.allocate(1024);

    

System.out.println(byteBuffer.position());

System.out.println(byteBuffer.limit());;

System.out.println(byteBuffer.capacity());

    

//利用put方法存入數(shù)據(jù)到緩沖區(qū)中

String str = "abcde";

byteBuffer.put(str.getBytes());

6、ByteBuffer的基本使用。

緩沖區(qū)存取數(shù)據(jù)的兩個(gè)核心方法:

get():獲取緩沖區(qū)的數(shù)據(jù)

 

//4、利用get()讀取緩沖區(qū)的數(shù)據(jù)

    byte[] dst = new byte[byteBuffer.limit()];

    byteBuffer.get(dst);

    System.out.println(new String(dst,0,dst.length));

7、調(diào)用flip()讀數(shù)據(jù)模式之后

//3、切換成讀取數(shù)據(jù)模式byteBuffer.flip();

8、調(diào)用flip()操作之后:

9、rewind()方法:可重復(fù)讀:

byteBuffer.rewind();

System.out.println("----------rewind()-------------");

System.out.println(byteBuffer.position());

System.out.println(byteBuffer.limit());;

System.out.println(byteBuffer.capacity());

相關(guān)文章

  • vue驗(yàn)證碼組件應(yīng)用實(shí)例

    vue驗(yàn)證碼組件應(yīng)用實(shí)例

    今天小編就為大家分享一篇關(guān)于vue驗(yàn)證碼組件應(yīng)用實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Redis?+?Java攔截器實(shí)現(xiàn)用戶匿名和非匿名訪問

    Redis?+?Java攔截器實(shí)現(xiàn)用戶匿名和非匿名訪問

    本文主要介紹了Redis?+?Java攔截器實(shí)現(xiàn)用戶匿名和非匿名訪問,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • java實(shí)現(xiàn)事件委托模式的實(shí)例詳解

    java實(shí)現(xiàn)事件委托模式的實(shí)例詳解

    這篇文章主要介紹了java實(shí)現(xiàn)事件委托模式的實(shí)例詳解的相關(guān)資料,這里提供實(shí)例來說明如何實(shí)現(xiàn)改功能,希望能幫助到大家理解這樣的模式,需要的朋友可以參考下
    2017-08-08
  • 詳談Map的key、value值的數(shù)據(jù)類型不能為基本類型的原因

    詳談Map的key、value值的數(shù)據(jù)類型不能為基本類型的原因

    這篇文章主要介紹了詳談Map的key、value值的數(shù)據(jù)類型不能為基本類型的原因,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java?SpringMVC實(shí)現(xiàn)自定義攔截器

    Java?SpringMVC實(shí)現(xiàn)自定義攔截器

    這篇文章主要為大家詳細(xì)介紹了SpringMVC實(shí)現(xiàn)自定義攔截器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Java連接數(shù)據(jù)庫步驟解析(Oracle、MySQL)

    Java連接數(shù)據(jù)庫步驟解析(Oracle、MySQL)

    本文主要介紹了Java連接Oracle數(shù)據(jù)庫和MySQL數(shù)據(jù)庫的步驟解析。具有很好的參考價(jià)值,需要的朋友一起來看下吧
    2016-12-12
  • SpringMVC中Controller層獲取前端請(qǐng)求參數(shù)的方式匯總

    SpringMVC中Controller層獲取前端請(qǐng)求參數(shù)的方式匯總

    這篇文章主要介紹了SpringMVC中Controller層獲取前端請(qǐng)求參數(shù)的幾種方式,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Java多線程與線程池技術(shù)分享

    Java多線程與線程池技術(shù)分享

    這篇文章主要介紹了Java多線程與線程池技術(shù)分享,線程池本質(zhì)是池化技術(shù)的應(yīng)用,和連接池類似,創(chuàng)建連接與關(guān)閉連接屬于耗時(shí)操作,下文相關(guān)介紹需要的小伙伴可以參考一下
    2022-03-03
  • java對(duì)指定目錄下文件讀寫操作介紹

    java對(duì)指定目錄下文件讀寫操作介紹

    本文將詳細(xì)介紹java對(duì)指定目錄下文件的讀寫功能實(shí)現(xiàn),需要的朋友可以參考下
    2012-11-11
  • Java網(wǎng)絡(luò)編程中的TCP/UDP詳解

    Java網(wǎng)絡(luò)編程中的TCP/UDP詳解

    這篇文章主要介紹了Java網(wǎng)絡(luò)編程中的TCP/UDP詳解,網(wǎng)絡(luò)編程是指編寫運(yùn)行在多個(gè)設(shè)備的程序,這些設(shè)備都通過網(wǎng)絡(luò)連接起來,java.net 包中 J2SE 的 API 包含有類和接口,它們提供低層次的通信細(xì)節(jié),需要的朋友可以參考下
    2023-12-12

最新評(píng)論