麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

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

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > Java中的IO流分為幾種?

Java中的IO流分為幾種?

來源:千鋒教育
發(fā)布人:qyf
時間: 2022-08-02 16:59:00 1659430740

  1. 簡介

  按流劃分,可以分為輸入流和輸出流;

  按單位劃分,可以分為字節(jié)流和字符流;

  字節(jié)流:inputStream、outputStream;

  字符流:reader、writer;

  按照流的角色劃分為節(jié)點流和處理流。

  Java IO流共涉及40多個類,這些類看上去很雜亂,但實際上很有規(guī)則,而且彼此之間存在非常緊密的聯(lián)系, Java IO流的40多個類都是從如下4個抽象類基類中派生出來的。

  InputStream/Reader: 所有的輸入流的基類,前者是字節(jié)輸入流,后者是字符輸入流。

  OutputStream/Writer: 所有輸出流的基類,前者是字節(jié)輸出流,后者是字符輸出流。

  2. 按操作方式分類結(jié)構(gòu)圖

1

  3. 按操作對象分類結(jié)構(gòu)圖

2

  BIO、NIO、AIO 有什么區(qū)別?

  1. 簡答

  BIO:Block IO 同步阻塞式 IO,就是我們平常使用的傳統(tǒng) IO,它的特點是模式簡單使用方便,并發(fā)處理能力低。

  NIO:Non IO 同步非阻塞 IO,是傳統(tǒng) IO 的升級,客戶端和服務器端通過 Channel(通道)通訊,實現(xiàn)了多路復用。

  AIO:Asynchronous IO 是 NIO 的升級,也叫 NIO2,實現(xiàn)了異步非堵塞 IO ,異步 IO 的操作基于事件和回調(diào)機制。

  2. 詳細回答

  BIO (Blocking I/O): 同步阻塞I/O模式,數(shù)據(jù)的讀取寫入必須阻塞在一個線程內(nèi)等待其完成。在活動連接數(shù)不是特別高(小于單機1000)的情況下,這種模型是比較不錯的,可以讓每一個連接專注于自己的 I/O 并且編程模型簡單,也不用過多考慮系統(tǒng)的過載、限流等問題。線程池本身就是一個天然的漏斗,可以緩沖一些系統(tǒng)處理不了的連接或請求。但是,當面對十萬甚至百萬級連接的時候,傳統(tǒng)的 BIO 模型是無能為力的。因此,我們需要一種更高效的 I/O 處理模型來應對更高的并發(fā)量。

  NIO (New I/O): NIO是一種同步非阻塞的I/O模型,在Java 1.4 中引入了NIO框架,對應 java.nio 包,提供了 Channel , Selector,Buffer等抽象。NIO中的N可以理解為Non-blocking,不單純是New。它支持面向緩沖的,基于通道的I/O操作方法。 NIO提供了與傳統(tǒng)BIO模型中的 Socket 和 ServerSocket 相對應的 SocketChannel 和 ServerSocketChannel 兩種不同的套接字通道實現(xiàn),兩種通道都支持阻塞和非阻塞兩種模式。阻塞模式使用就像傳統(tǒng)中的支持一樣,比較簡單,但是性能和可靠性都不好;非阻塞模式正好與之相反。對于低負載、低并發(fā)的應用程序,可以使用同步阻塞I/O來提升開發(fā)速率和更好的維護性;對于高負載、高并發(fā)的(網(wǎng)絡)應用,應使用 NIO 的非阻塞模式來開發(fā)

  AIO (Asynchronous I/O): AIO 也就是 NIO 2。在 Java 7 中引入了 NIO 的改進版 NIO 2,它是異步非阻塞的IO模型。異步 IO 是基于事件和回調(diào)機制實現(xiàn)的,也就是應用操作之后會直接返回,不會堵塞在那里,當后臺處理完成,操作系統(tǒng)會通知相應的線程進行后續(xù)的操作。AIO 是異步IO的縮寫,雖然 NIO 在網(wǎng)絡操作中,提供了非阻塞的方法,但是 NIO 的 IO 行為還是同步的。對于 NIO 來說,我們的業(yè)務線程是在 IO 操作準備好時,得到通知,接著就由這個線程自行進行 IO 操作,IO操作本身是同步的。查閱網(wǎng)上相關(guān)資料,我發(fā)現(xiàn)就目前來說 AIO 的應用還不是很廣泛,Netty 之前也嘗試使用過 AIO,不過又放棄了。

  更多關(guān)于“java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業(yè)需求,更科學更嚴謹,每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
主站蜘蛛池模板: 我要看特级毛片| 再去温泉吧| 好紧我太爽了视频免费国产| 四虎影视永久在线观看| 欧美巨大xxxx做受高清| 韩日欧美| 国产欧美日韩在线观看精品| 国产精品9999久久久久仙踪林| 中文字幕在线最新在线不卡| 国产成人综合精品一区| 日韩精品一区二区三区毛片 | 精品久久久中文字幕二区| 二代妖精免费看| 波多野结衣忆青春| 欧美最猛性xxxxx69交| 日出水了特别黄的视频| 好爽好黄的视频| www.henhenai| 日本艳妇| 91呻吟丰满娇喘国产区| 天天射天天干天天| 国产一级做a爰片...| 第一次h圆房细致前戏| 草莓视频黄色在线观看| 男女无遮挡高清性视频直播| 夜夜夜夜猛噜噜噜噜噜试看| 绿巨人晚上彻底放飞自己| 日产国产欧美韩国在线| 男女无遮挡高清性视频直播| 国产免费爽爽视频在线观看| 动漫美女羞羞漫画| 中文字幕精品视频在线观| 伊人久久久大香线蕉综合直播| 欧美三级电影免费| 欧美妈妈的朋友| 在线中文字幕不卡| 全彩口工番日本漫画| 久久亚洲人成网站| 8888四色奇米在线观看免费看| 日韩欧美三级在线观看| 快穿之青梅竹马女配|