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:基於事件和回調機制(異步非阻塞)