ByteBuffer内部结构


Bytebuffer结构
3个重要属性:(最开始所指的位子)
*Capacity:容量(末尾)
*position:读的开始(开头)
*limit:写入限制(末尾(最远写到这里))
场景1:写模式(position这个指针进行移动(写一个移动一个))

场景2:flip变为切换为读模式(其中是position移动到开始位置,limit从最开始的末尾移动到之前写模式的position位置(就只能读到这里了))

场景三:读取字节(每次get只能操作只能读一位,所以要在一个循环里面读(之前我们是while(true)))这个position每次get就移动一位,position最多移动到limit位置(也就是读完了)

场景4:读模式变为写模式(clear下)(新数据来我们想要写了)就是将position位置变为开始位置从新开始写,limit变为开始的末尾了。

场景5:另一种切换写模式的办法(compact)就是先将没有读完的数据(字节)向左平移到其实位置,将position移动到移动后的末尾出(从移动后的末尾开始写咯),limit移动到末尾(写到大小的末尾咯)
