Fork me on GitHub

002-JavaNIO

NIO

Java NIO 由以下三个核心组件组成 channel(通道) Buffer(缓冲区) Selector(选择器)

Buffer

八大Buffer:ByteBuffer CharBuffer DoubleBuffer FloatBuffer IntBuffer LongBuffer ShortBuffer MappedByteBuffer

属性

capacity:表示内部容量的大小

position:表示当前的位置

limit:表示读写的最大上限

初始化

IntBuffer intBuffer = IntBuffer.allocate(20); // 初始化一个容量为20的IntBuffer

方法

put(): 放入数据到缓冲区

intBuffer.put(1); // Buffer状态必须是写模式

flip(): 翻转

intBuffer.flip(); // 将读模式改为写模式

get():从缓冲区获取数据

intBuffer.get(); // Buffer状态必须是读取模式

rewind():倒带重新读取数据

intBuffer.rewind();

mark()和reset(): 标记和恢复到标记状态

 intBuffer.mark(); // mark
 intBuffer.reset(); //reset

clear():清空缓冲区

intBuffer.clear(); // clear
posted @ 2020-02-22 10:46  MgicalFool  阅读(106)  评论(0编辑  收藏  举报