JavaSE:NIO - 缓冲区的常用方法 & Buffer中的变量(一)
2021/6/30 17:24:04
本文主要是介绍JavaSE:NIO - 缓冲区的常用方法 & Buffer中的变量(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 常用方法
拿到一个缓冲区,我们往往会做什么?
很简单,就是读取缓冲区的数据 / 写数据到缓冲区中
所以,缓冲区的核心方法是:
put(byte b):给数组添加元素
get():获取一个元素
import java.nio.ByteBuffer; import java.util.Arrays; public class Demo02Buffer的方法 { public static void main(String[] args) { // 创建对象 ByteBuffer buffer = ByteBuffer.allocate(10); // put(byte b): 给数组添加元素 buffer.put ((byte)10); buffer.put ((byte)20); buffer.put ((byte)30); // 把缓冲数组,变成普通数组 byte[] arr = buffer.Array(); // 打印 System.out.print(Arrays.toString(arr)); // get(): 获取一个元素 byte b = buffer.get(1); System.out.print(b); // 20 } }
2. Buffer类中的变量
Buffer类维护了 4 个核心变量属性,来提供关于其所包含的数组的信息。 它们是:
<1> 容量Capacity
缓冲区能够容纳的数据元素的最大数量
容量在缓冲区创建时被设定,并且永远不能改变
(不能被改变的原因也很简单,底层是数组嘛)
<2> 界限Limit
缓冲区中,可以操作数据的大小
代表了当前缓冲区中,一共有多少数据
(从limit开始,后面的位置不能操作)
<3>位置Position
下一个要被读或写的元素的位置
Position会自动由相应的get() 和 put() 函数更新
以上三个属性之间,有一些相对的大小关系:
0 <= position <= limit <= capacity
例:
如果我们创建一个新的容量大小为20 的ByteBuffer对象, 在初始化的时候, position 设置为 0,
limit 和 capacity 被设置为 10, 在以后使用 ByteBuffer对象过程中, capacity的值不会再发生变化,而其他的两个将会随着使用而变化
<4>标记Mark
一个备忘位置。 用于记录上一次读写的位置
这篇关于JavaSE:NIO - 缓冲区的常用方法 & Buffer中的变量(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南