NIO 三大核心
- Channel
- Buffer
- Selector
四大 Channel
Channel 决定用途, 使用 Buffer 处理数据
- FileChannel:文件读写
- DatagramChannel: 网络 UDP
- SocketChannel: 网络 TCP 服务端
- ServerSocketChannel: 网络 TCP 客户端
八大 Buffer
Buffer 用于存储数据
- ByteBuffer
- CharBuffer
- DoubleBuffer
- FloatBuffer
- IntBuffer
- LongBuffer
- ShortBuffer
- MappedByteBuffer
Selector
Select 管理 Channel
四大 SelectionKey
SelectionKey 指定监控 channel 行为
- SelectionKey.OP_CONNECT
- SelectionKey.OP_ACCEPT
- SelectionKey.OP_READ
- SelectionKey.OP_WRITE