一、理解类中的mark、position、limit、capacity关系
mark <= position <= limit <= capacity
ByteBuffer buffer = ByteBuffer.allocate(10); //mark=-1,position=0,limit=capactiy=10
不管是读取(get)还是写入(put)都会使得position加1
1、所以在读取数据的时候要filp(),重新设置limit=position,position=0;mark=-1;
2、如果读取过一次,想重新在读取,必须要rewind(),重新设置position=0;mark=-1;会清除标志
3、写入的时候一定要注意当前position的位置。