BIO: 传统的io,有单线程,线程池,基于inputstream ,outputstream io读写阻塞。
NIO::新增了channel , bytebuffer, selector ,
channel 是异步双工的,channel 会在selector 上注册accept 事件,selector 会轮询注册其上的channel,如果有新的事件进来,就会被轮询出来,通过selectionkey 获取就绪的channel 集合,如果是新连接进来的,就会注册读写事件,如果是有消息了,就会进行读事件。
AIO:jdk1.7 引入了异步通道的概念 服务通道:AsynchronousServerSocket,不需要selector对注册通道的轮询就可以实现异步读写。