1、首先Buffer缓冲区本质上就是一个可以读写数据的内存块,可以理解成是一个容器对象(含数组)
Channel 提供从文件、 网络读取数据的渠道,但是读取或写入的数据都必须经由 Buffer
2、Buffer的子类一共有7个,分别对应的是8大基本数据类型(除了boolean),平时我们网络数据传输最终都是转换为字节,所以用的最多的,应该为ByteBuffer
3、下面来讲一下Buffer是怎样实现数据存储:
Buffer类定义了所有的缓冲区都具有的四个属性来提供关于其所包含的数据元素的信息:
①mark:标记
②position:位置,表示下一个要被读写的元素的索引,每次读写缓冲区数据的时候,都有可能改变该值,为下次读写做准备
③limit:表示缓存区当前终点,不能对缓存区超过极限的位置进行读写操作,且该极限是可以修改的。
④capacity:容量,即可以容纳的最大数据量,在缓冲区创建时被设定且不能改变
4、常用的一些方法
以及ByteBuffer最常用方法: