I/O流數據源包括,字節數組,string對象,文件,「管道」,流組成的序列,其它數據源(Internet鏈接等)數組
字節流:處理數據的基本單位是單個字節,用來處理二進制數據;默認不使用緩衝區異步
字符流:處理數據的基本單位是Unicode碼元(大小2字節),用來處理文本數據;使用緩衝區線程
輸入流(InputStream):從文件讀取數據,是一個獲取數據的過程netty
輸出流(OutputStream):將數據寫入到文件,是推送數據的過程code
同步,異步:任務A調用任務B的過程當中,若A等待B的結果,則爲同步;若A不等待B的結果,則爲異步 對象
同步狀態下任務A的執行時依賴於任務B的,任務A成功是依賴於成功B的。而異步模式下二者是不相關的。同步
阻塞和非阻塞:任務A等待B的結果的過程當中,若A等待的過程當中會被掛起,則爲阻塞;若A等待的過程當中不會掛起,則爲非阻塞string
同步阻塞的狀況下,任務A會掛起,同步非阻塞的狀況下任務A並不掛起。不掛起的狀況下任務A保留有響應信號的能力;效率
非阻塞的狀況下並不會致使線程切換(只是不強制進行線程切換,若是該線程的時間片用完仍是會切換的),可能效率更高,cpu利用率也更高二進制
5種IO模型
阻塞式IO
非阻塞式IO
IO複用模型
信號驅動IO
異步IO
netty