麻豆黑色丝袜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
主站蜘蛛池模板: 日本漫画口工全彩内番漫画丝袜| 国内精品视频一区二区八戒| 欧美日韩国产精品自在自线| 成人做受120秒试看动态图| 国产999在线观看| 欧美日韩电影网| 最近最好的中文字幕2019免费| 97av视频在线播放| 国产精品爽爽va在线观看无码 | 国产综合精品| 国产在线视频一区二区三区| 美团外卖猛男男同38分钟| 阿娇囗交全套高清视频| 蜜桃熟了3| 亚洲欧美日韩精品久久| www四虎在线高清| chinese打桩大学生twink| 北条麻妃在线视频| 客厅餐桌椅子上波多野结衣| 深夜福利gif动态图158期| 两个小姨子在线播放| 在线观看亚洲一区| 第一福利官方导航| 日本老头变态xxxx| 97色伦在线| 亚洲精品美女在线观看播放| 又爽又黄又无遮挡的视频| 日韩黄色大全| 波多野结衣33分钟办公室jian情| 国产精品宅男在线观看| 中文字幕免费在线| 国产制服丝袜在线| 羞羞视频在线播放| 扒开女人内裤边吃奶边摸| 欧美激情一区二区| 中国陆超帅精瘦ktv直男少爷| 一个人免费视频观看在线www| 再灬再灬再灬深一点舒服| 学霸c了我一节课| 亚欧洲乱码专区视频| 又大又粗好舒服好爽视频 |