NIO:
NIO是non-blocking IO,又称为New IO.即:同步非阻塞式IO.
NIO是非阻塞式IO也是一种能够提供多路复用的IO.可以实现双向通信。
NIO主要涉及到三部分:
Buffer, Channel, Selector
Buffer, 缓冲区:底层使用数组实现的。用于存储数据的容器。Buffer在java中提供了一些基本数据类型的缓冲区。
ByteBuffer
Channel通道。
用于传输数据的。
实现双向传输的基础。
基于文件传输:FileChannel
基于UDP协议传输:DatagramChannel
基于TCP协议传输,SocketChannel, ServerSockerChkannel.基于客户端与服务端。
Channel默认为阻塞的,但是可以手动设置为非阻塞。