NIO和IO:
IO是面向流,NIO是面向缓冲区的,缓冲区是双向的,用来存放数据。通道意为管道 打开连接
Channel负责传输,Buffer负责存储
IO是阻塞式,NIO是非阻塞式的
NIO具有选择器
缓冲区(Buffer) 在Java NIO中负责数据的存取。底层是数组
根据数据不同,提供相应类型的缓冲区。boolean除外
提供,ByteBuffer,CharBuffer等。。。
通过allocate()获取缓冲区
缓冲区通过get和put存取数据 rewind重读,clear时假清空
四个核心属性:
capacity容量不可改
limit 界限
position 当前位置
mark 标记
0<=mark<=position<=limit<=capacity
读取时position<=limit在不断变换
指针式的。