-
NIO網(wǎng)絡(luò)模型:
非阻塞IO模型,服務(wù)器端提供一個單線程的selector來統(tǒng)一管理所有客戶端接入的連接,并負(fù)責(zé)監(jiān)聽每個連接所關(guān)心的事件
彈性伸縮能力加強,服務(wù)器端一個線程處理所有客戶端的連接請求,客戶端的個數(shù)與服務(wù)器端的線程數(shù)呈M比1的關(guān)系
單線程節(jié)省資源
查看全部 -
NIO網(wǎng)絡(luò)模型
查看全部 -
NIO模型:非阻塞IO
客戶端的個數(shù)與服務(wù)器端的線程數(shù)呈M:1的關(guān)系
查看全部 -
BIO網(wǎng)絡(luò)模型缺點
阻塞式I/O模型,會導(dǎo)致服務(wù)器端的業(yè)務(wù)線程會因阻塞IO的問題一直阻塞等待客戶端發(fā)起請求,如果客戶端不發(fā)起請求,服務(wù)端的業(yè)務(wù)線程會一直存在,就會耗費大量系統(tǒng)資源
彈性伸縮能力差:服務(wù)器端的線程數(shù)與客戶端的個數(shù)呈1比1的關(guān)系
多線程耗資源
查看全部 -
BIO模型:阻塞同步IO
查看全部 -
BIO編程模型:
過程:
1. 服務(wù)端啟動,開始建立監(jiān)聽客戶端的連接請求;
2. 客戶端啟動,向服務(wù)器端發(fā)起建立連接請求;
3. 服務(wù)器在收到客戶端的請求后,將會創(chuàng)建一個新的線程;
4. 服務(wù)端新創(chuàng)建的線程會與客戶端建立socket連接,用于響應(yīng)客戶端的請求,通知客戶端連接建立成功,你隨時可以給我發(fā)送數(shù)據(jù)。
5. 服務(wù)器端處理完客戶端的請求之后,就會處于等待狀態(tài),等待客戶端再次發(fā)起請求
服務(wù)端為每一個客戶端建一個線程,一旦客戶端請求過多,服務(wù)端線程數(shù)量也會增多,服務(wù)端壓力增大
查看全部 -
模型:對事物共性的抽象
編程模型:對編程共性的抽象
查看全部 -
NIO :Non-blocking I/O(非阻塞IO) 或者New I/O
應(yīng)用場景:高并發(fā)網(wǎng)絡(luò)服務(wù)器支持崗
查看全部 -
先建立模型概念:
查看全部 -
Buffer的屬性
Capacity:分配的buffer容量
Position:當(dāng)前操作的位置
Limit:寫模式下等于Capacity,讀模式下等于最多能讀取的數(shù)據(jù)
Mark:記錄mark的位置,調(diào)用reset方法時position會回到mark的位置
flip:?
public?final?Buffer?flip()?{ ????limit?=?position; ????position?=?0; ????mark?=?-1; ????return?this; }
clear:
public?final?Buffer?clear()?{ ????position?=?0; ????limit?=?capacity; ????mark?=?-1; ????return?this; }
查看全部 -
1.創(chuàng)建select多路復(fù)用器查看全部
-
BIO的缺陷,當(dāng)有1000個客戶端請求時,則服務(wù)器端會創(chuàng)建1000個線程去進(jìn)行處理操作。
查看全部 -
NIO :Non-blocking I/O(非阻塞IO) 或者New I/O
應(yīng)用場景:高并發(fā)網(wǎng)絡(luò)服務(wù)器支持崗
查看全部 -
NIO網(wǎng)絡(luò)編程缺陷
查看全部 -
NIO網(wǎng)絡(luò)編程實戰(zhàn)7個步驟
查看全部
舉報