-
NIO網(wǎng)絡(luò)模型:
非阻塞IO模型,服務(wù)器端提供一個(gè)單線程的selector來統(tǒng)一管理所有客戶端接入的連接,并負(fù)責(zé)監(jiān)聽每個(gè)連接所關(guān)心的事件
彈性伸縮能力加強(qiáng),服務(wù)器端一個(gè)線程處理所有客戶端的連接請求,客戶端的個(gè)數(shù)與服務(wù)器端的線程數(shù)呈M比1的關(guān)系
單線程節(jié)省資源
查看全部 -
NIO網(wǎng)絡(luò)模型
查看全部 -
NIO模型:非阻塞IO
客戶端的個(gè)數(shù)與服務(wù)器端的線程數(shù)呈M:1的關(guān)系
查看全部 -
BIO網(wǎng)絡(luò)模型缺點(diǎn)
阻塞式I/O模型,會(huì)導(dǎo)致服務(wù)器端的業(yè)務(wù)線程會(huì)因阻塞IO的問題一直阻塞等待客戶端發(fā)起請求,如果客戶端不發(fā)起請求,服務(wù)端的業(yè)務(wù)線程會(huì)一直存在,就會(huì)耗費(fèi)大量系統(tǒng)資源
彈性伸縮能力差:服務(wù)器端的線程數(shù)與客戶端的個(gè)數(shù)呈1比1的關(guān)系
多線程耗資源
查看全部 -
BIO模型:阻塞同步IO
查看全部 -
BIO編程模型:
過程:
1. 服務(wù)端啟動(dòng),開始建立監(jiān)聽客戶端的連接請求;
2. 客戶端啟動(dòng),向服務(wù)器端發(fā)起建立連接請求;
3. 服務(wù)器在收到客戶端的請求后,將會(huì)創(chuàng)建一個(gè)新的線程;
4. 服務(wù)端新創(chuàng)建的線程會(huì)與客戶端建立socket連接,用于響應(yīng)客戶端的請求,通知客戶端連接建立成功,你隨時(shí)可以給我發(fā)送數(shù)據(jù)。
5. 服務(wù)器端處理完客戶端的請求之后,就會(huì)處于等待狀態(tài),等待客戶端再次發(fā)起請求
服務(wù)端為每一個(gè)客戶端建一個(gè)線程,一旦客戶端請求過多,服務(wù)端線程數(shù)量也會(huì)增多,服務(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方法時(shí)position會(huì)回到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個(gè)客戶端請求時(shí),則服務(wù)器端會(huì)創(chuàng)建1000個(gè)線程去進(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ò)編程實(shí)戰(zhàn)7個(gè)步驟
查看全部
舉報(bào)