数据流向:输入流、输出流
数据单位:字节流、字符流
是否与数据源直连:节点流、处理流
BIO 同步并阻塞
NIO 同步非阻塞
AIO 异步非阻塞
Netty 基于NIO的客户、服务器端编程框架
NIO
Buffers 缓冲区
属性: capacity(容量) position(位置) limit(限制)
使用:
分配缓冲区
ByteBuffer buffer= ByteBuffer.allocate(1024)
写入数据到缓冲区
int i = inChannel.read(buf)
Channel 通道
inChannel.read(buffer)
outChannel.write(buffer)
Selector 选择器
Selector selector = Selector.open()
channel.configureBlocking(false);
SelectionKey key = channel.register(selector,Selectionkey.OP_READ);