更新時(shí)間:2020-08-20 16:06:06 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3019次
1. TC P和UDP的區(qū)別
tcp:面向連接的傳輸控制協(xié)議,具有高可靠性,確保傳輸數(shù)據(jù)的正確性,有驗(yàn)證重發(fā)機(jī)制,因此不會(huì)出現(xiàn)丟失或者亂序。
upd:是無連接的數(shù)據(jù)報(bào)服務(wù),不對(duì)數(shù)據(jù)報(bào)進(jìn)行檢查與修改,無須等待對(duì)方的應(yīng)答,會(huì)出現(xiàn)分組丟失,重復(fù),亂序,但具有較好的事實(shí)性,UPD段結(jié)構(gòu)比TCP的段結(jié)構(gòu)簡單,因此網(wǎng)絡(luò)開銷也小。
2. tcp連接建立的時(shí)候三次握手,斷開連接的4次握手的具體過程
建立連接采用的3次握手協(xié)議,具體是指:
*第一次握手是客戶端connect連接到server
*第二次server accept(接收)client的請(qǐng)求之后,向client(客戶)端發(fā)送一個(gè)消息,相當(dāng)于說我都準(zhǔn)備好了,你連接上我了
*第三次就是client向server發(fā)送的,就是對(duì)第二次握手消息的確認(rèn)。之后,client和server就開始通訊了。
斷開連接的四次握手,具體如下:
*斷開連接的一端發(fā)送close請(qǐng)求是第一次握手
*另外一端接收到斷開的連接的請(qǐng)求之后需要對(duì)close進(jìn)行確認(rèn),發(fā)送一個(gè)消息,這是第二次握手
*發(fā)送完確認(rèn)消息之后,還要向?qū)Χ税l(fā)送close消息,要關(guān)閉對(duì)對(duì)端的連接,這是第三次握手
*而且最初發(fā)送斷開連接的一端接收到消息之后,進(jìn)入到一個(gè)很重要的狀態(tài),time_wait狀態(tài),這個(gè)狀態(tài)也是面試官經(jīng)常問道的問題,最后一次握手是最初發(fā)送斷開連接的一端接收到消息之后。對(duì)消息的確認(rèn)。
3. 什么是同步?什么是異步?
同步:
如果有多個(gè)任務(wù)或者事件要發(fā)生,這些任務(wù)或者事件必須逐個(gè)地進(jìn)行,一個(gè)事件或者任務(wù)的執(zhí)行會(huì)導(dǎo)致整個(gè)流程的暫時(shí)等待,這些事件沒有辦法并發(fā)的執(zhí)行。
異步:
如果有多個(gè)任務(wù)或者事件發(fā)生,這些事件都可以并發(fā)的執(zhí)行,一個(gè)事件或者任務(wù)不會(huì)導(dǎo)致整個(gè)流程的暫時(shí)等待。
事實(shí)上同步和異步是一個(gè)非常廣的概念,他們的重點(diǎn)在于多個(gè)任務(wù)和事件發(fā)生時(shí),一個(gè)事件的發(fā)生或執(zhí)行是否會(huì)導(dǎo)致整個(gè)流程的暫時(shí)等待,一般來說可以通過多線程的方式來實(shí)現(xiàn)異步,但是千萬不要將多線程和異步畫上符號(hào),異步只是一個(gè)宏觀上的模式,采用多線程來實(shí)現(xiàn)異步的一種手段,并且通過多進(jìn)程也可以實(shí)現(xiàn)異步
同步和異步著重點(diǎn)在于多個(gè)任務(wù)的執(zhí)行過程中一個(gè)任務(wù)的執(zhí)行是否會(huì)導(dǎo)致整個(gè)流程的暫時(shí)等待。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“常見的Java網(wǎng)絡(luò)編程面試題”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)