常规使用
package netty;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
public class BufDemo {
public static void main(String[] args) {
ByteBuf buffer = Unpooled.buffer(10);//就是一个byte[10]数组
for (int i = 0; i < 10; i++) {
buffer.writeByte(i);//writerindex 这个索引会变化
}
System.out.println("buffer = " + buffer.capacity());
for (int i = 0; i < buffer.capacity(); i++) {
System.out.println("buffer.getByte(i) = " + buffer.getByte(i));//readindex这个索引不会变化
System.out.println("buffer.readByte() = " + buffer.readByte());//这个会让readindex变化
}
}
}
不像nio中的ByteBuffer需要如果读写切换需要flip翻转。
1: 0-----readindex 是已经读过的 经过debug 应该是小于
2: readindex - ----writerindex 这个是可以读的
3: writeindex ------------capacity 这个是可以写的