BIO
即Block-IO:InputStream和OutStream(基于字节流),Reader和Writer(基于字符流),其交互方式是同步阻塞的
BIO的特点是在IO执行的两个阶段都被阻塞住了,代码简单直观;缺点是IO效率以及扩展性存在瓶颈
NIO
即Non-Block-IO:构建多路复用的、同步非阻塞的IO操作,提供了更接近操作系统底层的高性能数据操作方式
特点是:程序需要不断询问内核是否准备好,其中第一个阶段是非阻塞的,而第二个阶段是阻塞的
NIO的核心:Channels,Buffers,Selectors
IO多路复用:调用系统级别的select\poll\epoll
AIO
即Asynchronous IO:基于事件和回调机制(异步非阻塞)