Java的IO模型基於網路程式設計利弊分析
阿新 • • 發佈:2020-10-23
JAVA的IO模型基於網路程式設計利弊分析
一、IO通俗理解
-
IO的過程
-
思考①答案:檔案控制代碼
- 思考②答案:
- 阻塞/非阻塞 IO(程式對核心空間資料拷貝到使用者空間階段的耗時操作的等待方式)
- 同步/非同步IO(程式對核心空間資料拷貝到使用者空間階段的耗時操作的處理方式)
二、Unix中定義的IO模型
- 阻塞式IO模型
- 非阻塞式IO模型(資料未準備好的時候 直接返回 資料準備好的時候 複製資料 此時是同步的)
- IO複用模型(複用鏈路)
三、網路程式設計與Socket
-
OSI模型
-
網路通訊流程
-
Socket
-
Socket和應用程式中的IO的關係?
- socket只是網路通訊模型中一層抽象的API
- socket物件最多隻是資料的一個承載體而已(或者說是一個FD)
- JAVA中的socket只是fd的一種封裝而已
四、JAVA的IO模型(BIO&NIO)
-
概念
-
實現
-
BIO(只能連線單客戶端 想連線多客戶端就得多加執行緒)
-
NIO
-