缓冲区的4个概念:
position :当前位置
mark :标记位置(可以reset直接跳到标记位置)
limit :允许读取的位置
capacity:缓冲区大小
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SZhVmNkZ2NwUWN4Q2NyUWYlhzNlZ2M3IjYhdzYjRjM28CX2AzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
需要注意的是读取get方法通过传入的参数不同分别代表了不同的方式
get()读取一个字节
get(byte [] dst)读取字节到字节数组中
get(int index)从那个位置开始读
get(byte [] dst ,int offset,int length)读取字节到dst数组中,从offset开始读取length个字节
同理:getChar()
类似