ByteBuffer这个类里面有 容量(capacaity), 极限(limt),位置(position)。
我是这样认为的,对ByteBuffer操作,肯定是对其0—位置的字节进行读写
那么当SocketChannel.read(ByteBuffer bb)的时候,假定读取的字节序列长度为 n,其中 0 <= n <= r。此字节序列将被传输到缓冲区中,序列中的第一个字节位于索引 p 处,最后一个字节则位于索引 p + n - 1 处,其中 p 是调用此方法时缓冲区的位置。返回时,该缓冲区的位置将等于 p + n;其限制不会更改。这我肯定但是假如是SocketChannel.write(ByteBuffer bb)的时候,那么,返回时,该缓冲区的位置将等于 p + n;其限制不会更改。 我就纳闷咯,我认为,其位置应该是p-n,极限不变啊。。容量也不变噻。。为什么位置同样也p+n呢?不是bb里面的数据写到了通道(Channel)里面吗?希望高手指点....