-
?? ? ?? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ??NIO 網(wǎng)絡編程模型
1.注冊建立連接事件(Selector)
2.客戶端發(fā)起連接請求
3.服務端接收請求,啟動建立連接事件處理器(Acceptor Handler)
4.Acceptor Handler創(chuàng)建與客戶端的連接
5.Acceptor Handler響應客戶端建立連接請求
6.Acceptor Handler向Selector注冊連接可讀事件
7.Client發(fā)起請求
8.Selector啟動連接讀寫處理器(Read&Write Handler)
9.Read&Write Handler處理與Client的讀寫業(yè)務
10.Read&Write Handler響應Client的請求
11.Read&Write Handler向Selector注冊連接可讀事件查看全部 -
模型:對事物共性的抽象
編輯模型:對編輯共性的抽象查看全部 -
么意了沒睡去你不知道嗎啡查看全部
-
發(fā)現(xiàn)的很很多次交
查看全部 -
筆記筆記~記筆記。。。
查看全部 -
總結
查看全部 -
筆記2
查看全部 -
biji1
查看全部 -
First
查看全部 -
First
查看全部 -
NIO網(wǎng)絡模型圖
查看全部 -
接收服務器響應
查看全部 -
客戶端編寫:
1 連接服務 - 一行代碼就夠而且很直觀,沒有什么函數(shù)式接口嵌套結構
? ? SocketChannel.open(new InetSocketAdress(.... ))?
2 發(fā)送數(shù)據(jù) - 也很簡單直觀,一行代碼
? ? 這里他用了終端輸入? Scanner 作為要發(fā)送數(shù)據(jù)的來源,這個也可以學習下,如果要急速開發(fā),甚至連網(wǎng)頁界面也可以省略
? ? socketChannel.write(....? )?
3 接收響應 (這一節(jié)里沒有,下節(jié)課)
查看全部 -
NIO編程實現(xiàn)步驟
查看全部 -
3.Selector簡介
1)作用:IO就緒選擇
2)地位:NIO網(wǎng)絡變成的基礎
3)代碼片段:
????
4)SelectionKey簡介
?
查看全部 -
2,Buffer簡介
1)作用:讀寫Channel中的數(shù)據(jù)
2)本質:一塊內存區(qū)域
3)Buffer的屬性:
????????Capacity:容量
????????Position:位置
????????Limit:上限
????????Mark:標記
4)AIP:
????
查看全部 -
NIO核心
Channel :通道
特點:
????????1)雙向性(通道和流類似,但是流是單向的,而通道多雙向的,既可以讀也可以寫)
????????2)非阻塞性
????????3)操作唯一性(NIO中,對Channel的操作具有唯一性,基于數(shù)據(jù)塊的一個操作,通過buffer來操作)
?? ??????常用的實現(xiàn)類:
????????1)文件類:FileChannel
????????2)UDP類:DatagramChannel
????????3)TCP類:ServerSocketChannel / SocketChannel
????????socket回顧:
????????
????????Channel的使用:
????????
Buffer: 緩沖區(qū)
Selector:選擇器 / 多路復用器
查看全部 -
NIO模型的改進
非阻塞式IO模型
彈性伸縮能力強
單線程更加的節(jié)省資源
查看全部 -
NIO模型
查看全部 -
NIO網(wǎng)絡模型
基于非阻塞IO的模型
????????課程給出了一個思路:維護一個set集合,里面存放客戶端發(fā)過來的請求,不斷的去循環(huán)這個set,如果發(fā)現(xiàn)read有數(shù)據(jù)返回就交給一個handler去處理,否則就不處理當前這個請求,繼續(xù)去循環(huán)下一個
查看全部 -
BIO模型的缺點
阻塞式IO模型
彈性伸縮能力差:一個客戶端對于一個服務端的業(yè)務線程,線程數(shù)和客戶端是1:1的關系
多線程消耗資源
查看全部 -
BIO網(wǎng)絡模型
BIO:阻塞IO ,在讀寫過程中會出現(xiàn)阻塞
如果客戶端沒有進一步的響應,此時服務端會處于長時間的等待狀態(tài)。
如果服務端有大量的線程處于等待狀態(tài),顯然會對服務端的性能造成影響。
查看全部 -
NIO網(wǎng)絡編程模型
NIO簡介
編程模型
查看全部 -
前置知識:
JAVA基礎知識
BIO網(wǎng)絡編程基礎知識
多線程基礎知識
查看全部 -
NIO網(wǎng)絡編程模型
NIO網(wǎng)絡編程詳解
NIO網(wǎng)絡編程實戰(zhàn)
NIO網(wǎng)絡編程的缺陷
查看全部
舉報