當前位置:生活全書館 >

IT科技

> io和nio的區別

io和nio的區別

io和nio的區別如下:

io和nio的區別

1、NIO的建立目的是為了讓Java程式設計師可以實現高速I/O而無需編寫自定義的本機程式碼。NIO將最耗時的I/O操作(即填充和提取緩衝區)轉移回作業系統,因而可以極大地提高速度。傳統的IO操作屬於阻塞型,嚴重影響程式的執行速度。

2、流與塊的比較。原來的I/O庫(在java.io.*中)與NIO最重要的區別是資料打包和傳輸的方式。正如前面提到的,原來的I/O以流的方式處理資料,而NIO以塊的方式處理資料。面向流的I/O系統一次一個位元組地處理資料。一個輸入流產生一個位元組的資料,一個輸出流消費一個位元組的資料。為流式資料建立過濾器非常容易。連結幾個過濾器,以便每個過濾器只負責單個複雜處理機制的一部分,這樣也是相對簡單的。不利的一面是,面向流的I/O通常相當慢。

3、一個面向塊的I/O系統以塊的形式處理資料。每一個操作都在一步中產生或者消費一個數據塊。按塊處理資料比按(流式的)位元組處理資料要快得多。但是面向塊的I/O缺少一些面向流的I/O所具有的優雅性和簡單性。

標籤: IO nio
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/keopne.html