1.缓冲区(Buffer):一个用于特定基本数据类型的容器。由 java.nio 包定义的,所有缓冲区都是 Buffer 抽象类的子类
Java NIO 中的 Buffer 主要用于与 NIO 通道进行交互,数据是从通道读入缓冲区,从缓冲区写入通道中的。
类比记忆:Buffer就是计算机中的一个“容器”,可以理解为是从北京到哈尔滨的火车
2.根据数据类型不同(boolean 除外) ,有以下 Buffer 常用子类:
ByteBuffer
CharBuffer
ShortBuffer
IntBuffer
LongBuffer
FloatBuffer
DoubleBuffer
3.友情提示:上述 Buffer 类他们都采用相似的方法进行管理数据,只是各自管理的数据类型不同而已
4.获取一个Buffer对象的方法:XXBuffer.allocate(int capacity);//里面的参数是为开辟的缓存区的大小
5.buffer对象的三个基本特性:
容量 (capacity) :表示 Buffer 最大数据容量,缓冲区容量不能为负,并且创建后不能更改。
限制 (limit):第一个不应该读取或写入的数据的索引,即位于 limit 后的数据不可读写。缓冲区的限制不能为负,并且不能大于其容量。
位置 (position):下一个要读取或写入的数据的索引。缓冲区的位置不能为负,并且不能大于其限制
示例代码:
public static void getInfo()
{
ByteBuffer byteBuffer=ByteBuffer.allocate(1024);//开辟一个大小为1kb的且是存储byte类型数据的缓存区
System.out.println(“容量:”+byteBuffer.capacity());
System.out.println(“限制:”+byteBuffer.limit());
System.out.println(“位置:”+byteBuffer.position());
}