Java中的IO機制

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:基於事件和回調機制(異步非阻塞) 在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章