一,简介
Buffer是java nio使用的缓冲区,所有的数据都是通过缓冲区处理的,在读取数据时,他是直接读到缓冲区中的,在写数据时,写入缓冲区,任何时候使用nio的数据,都是通过缓冲区进行操作的
- 缓冲区实质上是一个数组。通常它是一个字节数组(ByteBuffer),也可以使用其他种类的数组。但是一个缓冲区不仅仅是一个数组,缓冲区提供了对数据的结构化访问以及维护读写位置(limit) 等信息。
- 最常用的缓冲区是ByteBuffer,一个ByteBuffer提供了一组功能用于操作byte数组。
- 除了ByteBuffer,还有其他的一些缓冲区,事实上,每一种Java基本类型(除了Boolean
- 类型)都对应有一种缓冲区,具体如下。
- ByteBuffer:字节缓冲区
- CharBuffer:字符缓冲区
- ShortBuffer:短整型缓冲区
- IntBuffer:整形缓冲区
- LongBuffer:长整形缓冲区
- FloatBuffer:浮点型缓冲区
- DoubleBuffer:双精度浮点型缓冲区
二,类主要成员变量
mark:此字段可备份读写地址
position:当前buffer读写的位置
limit:写模式-->当前最大可写长度,读模式-->当前最大可读长度
capacity:buffer当前容量
address:buffer在内存中的地址