netty面試題

一份Netty最全面試題!讓面試官難不倒你丈莺! - 簡(jiǎn)書

TCP可靠性表現(xiàn)

面向連接

校驗(yàn)和

確認(rèn)應(yīng)答與序列號(hào)(TCP傳輸時(shí)將每個(gè)字節(jié)的數(shù)據(jù)都進(jìn)行了編號(hào)谓传,這就是序列號(hào))

超時(shí)重傳

流量控制

滑動(dòng)窗口設(shè)置

TCP的粘包/拆包原因

1.UDP首部采用了16bit來指示UDP數(shù)據(jù)報(bào)文的長(zhǎng)度,因此在應(yīng)用層能很好的將不同的數(shù)據(jù)報(bào)文區(qū)分開掌呜,從而避免粘包和拆包的問題凡人。TCP的首部沒有表示數(shù)據(jù)長(zhǎng)度的字段名党。

2.發(fā)兩個(gè)數(shù)據(jù)包時(shí)會(huì)有有三種情況。主要原因是TCP發(fā)送緩沖區(qū)剩余空間的大小挠轴,將會(huì)發(fā)生粘包和拆包传睹。

TCP粘包、拆包解決辦法

1岸晦、發(fā)送端給每個(gè)數(shù)據(jù)包添加包首部欧啤,首部中應(yīng)該至少包含數(shù)據(jù)包的長(zhǎng)度。

2启上、發(fā)送端將每個(gè)數(shù)據(jù)包封裝為固定長(zhǎng)度(不夠的可以通過補(bǔ)0填充)邢隧。

3、可以在數(shù)據(jù)包之間設(shè)置邊界冈在,如添加特殊符號(hào)倒慧,這樣,接收端通過這個(gè)邊界就可以將不同的數(shù)據(jù)包拆分開。

Netty解決方案

Netty默認(rèn)提供了多種編解碼器用于處理半包纫谅,例如:LineBasedFrameDecoder

BIO炫贤、NIO、AIO分別是什么

阻塞 非阻塞? 異步(read write 緩沖)

Netty跟Java NIO有什么不同

越底層的東西越麻煩涉及到多線程系宜,網(wǎng)絡(luò)編程照激,NIO底層還有bug发魄。

框架模塊豐富盹牧,有大量的實(shí)踐,穩(wěn)定励幼,社區(qū)活躍汰寓。

Netty組件

其實(shí)NIOEventLoopGroup就是一個(gè)線程池實(shí)現(xiàn),通過設(shè)置不同的NIOEventLoopGroup方式就可以對(duì)應(yīng)三種不同的Reactor線程模型苹粟。?

channel 都有一個(gè)與之關(guān)聯(lián)的eventLoop綁定一個(gè)線程然后注冊(cè)到selector

當(dāng) channel 創(chuàng)建時(shí)有滑,就會(huì)被自動(dòng)分配到它專屬的?ChannelPipeline ChannelHandler 鏈提供了容器。

Reactor線程模型

單線程模型

多線程模型

主從線程模型

Reactor線程模型以及在netty中的應(yīng)用

select嵌削、poll毛好、epoll的機(jī)制及其區(qū)別

都是同步多路IO復(fù)用

它僅僅知道了,有I/O事件發(fā)生了苛秕,卻并不知道是哪那幾個(gè)流(可能有一個(gè)肌访,多個(gè),甚至全部)艇劫,我們只能無差別輪詢所有流吼驶,找出能讀出數(shù)據(jù),或者寫入數(shù)據(jù)的流店煞,對(duì)他們進(jìn)行操作蟹演。所以select具有O(n)的無差別輪詢復(fù)雜度,同時(shí)處理的流越多顷蟀,無差別輪詢時(shí)間就越長(zhǎng)酒请。

(2)poll==>時(shí)間復(fù)雜度O(n)

poll本質(zhì)上和select沒有區(qū)別,它將用戶傳入的數(shù)組拷貝到內(nèi)核空間鸣个,然后查詢每個(gè)fd對(duì)應(yīng)的設(shè)備狀態(tài)蚌父, 但是它沒有最大連接數(shù)的限制,原因是它是基于鏈表來存儲(chǔ)的.

(3)epoll==>時(shí)間復(fù)雜度O(1)

epoll可以理解為event poll毛萌,不同于忙輪詢和無差別輪詢苟弛,epoll會(huì)把哪個(gè)流發(fā)生了怎樣的I/O事件通知我們。所以我們說epoll實(shí)際上是事件驅(qū)動(dòng)(每個(gè)事件關(guān)聯(lián)上fd)的阁将,此時(shí)我們對(duì)這些流的操作都是有意義的膏秫。(復(fù)雜度降低到了O(1))

1、表面上看epoll的性能最好,但是在連接數(shù)少并且連接都十分活躍的情況下缤削,select和poll的性能可能比epoll好窘哈,畢竟epoll的通知機(jī)制需要很多函數(shù)回調(diào)。

2亭敢、select低效是因?yàn)槊看嗡夹枰喸児鐾瘛5托б彩窍鄬?duì)的,視情況而定帅刀,也可通過良好的設(shè)計(jì)改善

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末让腹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子扣溺,更是在濱河造成了極大的恐慌骇窍,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锥余,死亡現(xiàn)場(chǎng)離奇詭異腹纳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)驱犹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門嘲恍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人雄驹,你說我怎么就攤上這事佃牛。” “怎么了荠医?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵吁脱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我彬向,道長(zhǎng)兼贡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任娃胆,我火速辦了婚禮遍希,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘里烦。我一直安慰自己凿蒜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布胁黑。 她就那樣靜靜地躺著废封,像睡著了一般。 火紅的嫁衣襯著肌膚如雪丧蘸。 梳的紋絲不亂的頭發(fā)上漂洋,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼刽漂。 笑死演训,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贝咙。 我是一名探鬼主播样悟,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼庭猩!你這毒婦竟也來了窟她?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤眯娱,失蹤者是張志新(化名)和其女友劉穎礁苗,沒想到半個(gè)月后爬凑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體徙缴,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年嘁信,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了于样。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡潘靖,死狀恐怖穿剖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情卦溢,我是刑警寧澤糊余,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站单寂,受9級(jí)特大地震影響贬芥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宣决,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一蘸劈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尊沸,春花似錦威沫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至屁商,卻和暖如春烟很,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工溯职, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留精盅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓谜酒,卻偏偏與公主長(zhǎng)得像叹俏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子僻族,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容