千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

當(dāng)前位置:首頁  >  IT面試題  >  大數(shù)據(jù)面試題  >  正文

nio和bio的區(qū)別,為啥nio好

來源:千鋒教育
發(fā)布時間:2022-09-26 11:47:28
分享

  同步阻塞IO(JAVA BIO/Blocking IO ): 同步并阻塞,服務(wù)器實現(xiàn)模式為一個連接一個線程,即客戶端有連接請求時服務(wù)器端就需要啟動一個線程進(jìn)行處理,如果這個連接不做任何事情會造成不必要的線程開銷.

  Java NIO(Non-Blocking IO ) : 同步非阻塞,服務(wù)器實現(xiàn)模式為一個請求一個線程,即客戶端發(fā)送的連接請求都會注冊到多路復(fù)用器上,多路復(fù)用器輪詢到連接有I/O請求時才啟動一個線程進(jìn)行處理。

  NIO的優(yōu)點在于首先基于緩存讀寫文件,能夠批量操作,然后用channel雙向讀寫數(shù)據(jù),減少每次打開斷開流的資源消耗。

  引入selecore的概念,用一個線程管理多個通道,大大減少線程開銷。

nio和bio的區(qū)別,為啥nio好

  Java AIO(NIO.2) : 異步非阻塞,服務(wù)器實現(xiàn)模式為一個有效請求一個線程,客戶端的I/O請求都是由OS先完成了再通知服務(wù)器應(yīng)用去啟動線程進(jìn)行處理,NIO方式適用于連接數(shù)目多且連接比較短(輕操作)的架構(gòu),比如聊天服務(wù)器,并發(fā)局限于應(yīng)用中,編程比較復(fù)雜,JDK1.4開始支持。

  AIO方式使用于連接數(shù)目多且連接比較長(重操作)的架構(gòu),比如相冊服務(wù)器,充分調(diào)用OS參與并發(fā)操作,編程比較復(fù)雜,JDK7開始支持I/O屬于底層操作,需要操作系統(tǒng)支持,并發(fā)也需要操作系統(tǒng)的支持,所以性能方面不同操作系統(tǒng)差異會比較明顯。

  另外NIO的非阻塞,需要一直輪詢,也是一個比較耗資源的。所以出現(xiàn)AIO

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

學(xué)習(xí)資源站

  • 免費全套視頻教程
  • 企業(yè)實戰(zhàn)項目源碼
  • 大廠筆試真題題庫
  • 行業(yè)前瞻發(fā)展趨勢

相關(guān)推薦

  • 請列舉幾個常用的Linux命令 man :幫助命令 sudo : 獲取root權(quán)限 jps : 查看java進(jìn)程 ps -ef : 查看進(jìn)程 ps -aux : 查看進(jìn)程 netstat -nltcp : 監(jiān)聽端口 free : 內(nèi)存查看 top :動態(tài) 查看服務(wù)器資源信息
  • 單利模式是什么,線程安全嗎? 也就是說通過單例我們可以實現(xiàn)數(shù)據(jù)的全局訪問,還可以再全局實現(xiàn)功能的調(diào)用.單例分成懶漢式和餓漢式,對于懶漢式會有線程安全問題,需要進(jìn)行同步處理,對于餓漢式不會有線程安全問題,不需要同步.
  • nio和bio的區(qū)別,為啥nio好 同步阻塞IO(JAVA BIO/Blocking IO ): 同步并阻塞,服務(wù)器實現(xiàn)模式為一個連接一個線程,即客戶端有連接請求時服務(wù)器端就需要啟動一個線程進(jìn)行處理,如果這個連接不做任何事情會造成不必要的線程開銷.
  • threadlocal原理 因為在上面的代碼分析過程中,我們發(fā)現(xiàn)如果沒有先set的話,即在map中查找不到對應(yīng)的存儲,則會通過調(diào)用setInitialValue方法返回i,而在setInitialValue方法中,有一個語句是T value = initialValue(), 而默認(rèn)情況下,init...
  • arrayList和LinkedList的區(qū)別 Linkedlist基于鏈表的動態(tài)數(shù)組,數(shù)據(jù)添加刪除效率高,只需要改變指針指向即可,但是訪問數(shù)據(jù)的平均效率低,需要對鏈表進(jìn)行遍歷。對于新增和刪除操作add和remove,LinedList比較占優(yōu)勢,因為ArrayList要移動數(shù)據(jù)。
  • 垃圾回收機(jī)制(算法原理) 復(fù)制清除法:將內(nèi)存分為兩塊,其中一塊寫滿后,遍歷對象標(biāo)記有用的對象復(fù)制到另一塊,然后把這一塊清理,這樣復(fù)制的內(nèi)容很少而且內(nèi)存始終連續(xù),缺點是始終需要有一塊內(nèi)存空出來用于復(fù)制。
  • 主站蜘蛛池模板: 老熟妇仑乱视频一区二区| 亚洲一区二区三区无码中文字幕| 亚洲一区视频在线播放| 亚洲av成人一区二区三区| 国产无吗一区二区三区在线欢| 国产成人无码一区二区在线播放| 精品在线一区二区| 日韩精品一区在线| 尤物精品视频一区二区三区| 久久一本一区二区三区| 国产精华液一区二区区别大吗| 国精产品一区一区三区有限公司| 精品少妇ay一区二区三区| 久久亚洲综合色一区二区三区| 精品亚洲一区二区三区在线播放| 日本一道一区二区免费看| 国产无吗一区二区三区在线欢| 精品国产精品久久一区免费式| 亚无码乱人伦一区二区| 毛片一区二区三区无码| 亚洲av无码成人影院一区| 亚洲乱码一区二区三区国产精品 | 精品91一区二区三区| 亚洲av无码片vr一区二区三区| 午夜影院一区二区| 亚洲一区二区无码偷拍| 国产成人欧美一区二区三区| 国产一区二区三区乱码在线观看| 亚洲av乱码一区二区三区按摩| 精品人妻少妇一区二区三区不卡| 亚洲AV无码一区二区三区牲色| 国产福利一区二区| 日韩一区二区精品观看| 在线观看国产区亚洲一区成人| 国产成人一区二区三区在线| 末成年女AV片一区二区| 亚洲AV一区二区三区四区 | 亚洲国产精品一区二区九九| 精品亚洲一区二区三区在线播放| 亚洲av午夜福利精品一区 | 精品国产免费一区二区三区香蕉|