缓冲器的作用:为了减少实际的物理读写次数,减少动态内存的分配和回收的次数
缓冲区的属性:容量(capacity)、极限(limit)、位置(position),位置是下一个读写单位的位置
缓冲区方法:
clear():把极限设为容量值,再把位置设为0
flip():把极限设为位置值,再把位置设为0
rewind():不改变极限,把位置设为0
最基本的缓冲区类:ByteBuffer没有构造方法但有2个静态工厂方法
allocate(int capacity):返回一个缓冲区为capacity的ByteBuffer对象
(除boolean类型以外,所有的基本类型缓冲类都有这个方法)
directAllocate(int capacity):返回一个缓冲区为capacity的ByteBuffer对象,只在需经常重用或缓冲区较大且长期存在的时候才使用
所有的具体缓冲区类都提供了读写缓冲区的方法:
get():从缓冲区的当前位置读取一个单元的数据,读完后把位置加1
get(int index):从index位置开始读取一个单元的数据
put():向缓冲区的当前位置写入一个单元的数据,写完后把位置加1
put(int index):向index位置开始写入一个单元的数据