最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java之IO流面試題案例講解

 更新時間:2021年07月30日 10:05:24   作者:Mr_haoheng.  
這篇文章主要介紹了Java之IO流案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下

一、Java中IO流分為幾種?

  • 按照流的流向分,可以分為輸入流和輸出流;
  • 按照操作單元分,可以分為字節(jié)流和字符流(字節(jié)流可以讀寫任何單位的數(shù)據(jù),字符流只可以讀寫txt數(shù)據(jù));
  • 按照流的角色分,可以分為節(jié)點流和處理流;

二、IO中flush()和close()的區(qū)別

close()方法具備刷新功能,在關閉流之前就會先刷新緩沖區(qū),將緩沖區(qū)的字節(jié)全部刷新到文件上,在關閉流。(close()方法包含一次flush()方法)

flush()方法可以刷新,并且刷新之后可以繼續(xù)寫,而close()方法刷新之后就不能繼續(xù)寫了。

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

簡答:

  • BIO:Block IO 同步阻塞式IO,就是我們平時使用的傳統(tǒng)IO,特點是模式簡單使用方便,但是并發(fā)處理能力低;
  • NIO:Non IO 同步非阻塞IO,傳統(tǒng)IO的升級,客戶端與服務端通過Channel(通道)通訊,實現(xiàn)了多路復用;
  • AIO:Asynchronous IO 異步非阻塞IO,異步IO的操作基于事件和回調(diào)機制。

詳細回答:

  • 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)上相關資料,我發(fā)現(xiàn)就目前來說 AIO 的應用還不是很廣泛,Netty 之前也嘗試使用過 AIO,不過又放棄了。

四、Files的常用方法有哪些?

  • Files.exist():檢測文件路徑是否存在
  • Files.createFiles():創(chuàng)建文件
  • Files.createDirectory():創(chuàng)建文件夾
  • Files.delete():刪除一個文件或目錄
  • Files.copy():復雜文件
  • Files.move():移動文件
  • Files.size():查看文件個數(shù)
  • Files.read():讀取文件
  • Files.write():寫入文件

到此這篇關于Java之IO流案例講解的文章就介紹到這了,更多相關Java之IO流內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • spring aop 攔截業(yè)務方法,實現(xiàn)權限控制示例

    spring aop 攔截業(yè)務方法,實現(xiàn)權限控制示例

    這篇文章主要介紹了spring aop 攔截業(yè)務方法,實現(xiàn)權限控制示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-01-01
  • java 實現(xiàn)將Object類型轉(zhuǎn)換為int類型

    java 實現(xiàn)將Object類型轉(zhuǎn)換為int類型

    這篇文章主要介紹了java 實現(xiàn)將Object類型轉(zhuǎn)換為int類型的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 淺析java雙向冒泡排序算法

    淺析java雙向冒泡排序算法

    這篇文章主要介紹了淺析java雙向冒泡排序算法,并附上源碼,需要的朋友可以參考下
    2015-02-02
  • SpringBoot文件上傳與下載功能實現(xiàn)詳解

    SpringBoot文件上傳與下載功能實現(xiàn)詳解

    文件上傳與下載是Web應用開發(fā)中常用的功能之一。接下來我們將討論如何在Spring?Boot的Web應用開發(fā)中,如何實現(xiàn)文件的上傳與下載,感興趣的可以了解一下
    2022-10-10
  • SpringBoot+Mybatis分頁插件PageHelper實現(xiàn)分頁效果

    SpringBoot+Mybatis分頁插件PageHelper實現(xiàn)分頁效果

    這篇文章主要介紹了SpringBoot+Mybatis實現(xiàn)分頁效果,本案例是采用Mybatis分頁插件PageHelper實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • SpringBoot?Cache?二級緩存的使用

    SpringBoot?Cache?二級緩存的使用

    本文主要介紹了SpringBoot?Cache?二級緩存的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • JAVA | Guava EventBus 使用 發(fā)布/訂閱模式的步驟

    JAVA | Guava EventBus 使用 發(fā)布/訂閱模式的步驟

    這篇文章主要介紹了JAVA | Guava EventBus 使用 發(fā)布/訂閱模式的步驟,幫助大家更好的理解和學習使用Guava EventBus,感興趣的朋友可以了解下
    2021-03-03
  • this關鍵字詳解

    this關鍵字詳解

    這篇文章主要介紹了this關鍵字,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Springboot通過圖片路徑形式獲取圖片

    Springboot通過圖片路徑形式獲取圖片

    這篇文章主要介紹了Springboot通過圖片路徑形式獲取圖片,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Java中單例模式詳解

    Java中單例模式詳解

    這篇文章主要介紹了Java中單例模式詳解,單例模式包括了懶漢式單例、餓漢式單例、登記式單例三種,想要了解的朋友可以了解一下。
    2016-11-11

最新評論

遂昌县| 阜新| 铜川市| 涡阳县| 河曲县| 通城县| 大足县| 商洛市| 祥云县| 杂多县| 平顺县| 大同市| 碌曲县| 黔江区| 莆田市| 朔州市| 达拉特旗| 龙岩市| 息烽县| 蕉岭县| 怀宁县| 乌拉特前旗| 漳平市| 沂南县| 包头市| 榆中县| 公安县| 隆德县| 宁陵县| 宜阳县| 包头市| 县级市| 嘉黎县| 繁峙县| 新乡市| 明溪县| 宾川县| 广灵县| 龙口市| 万盛区| 梁平县|