首頁 > Java > java教程 > java中io和nio的差別是什麼

java中io和nio的差別是什麼

PHPz
發布: 2023-05-13 15:04:06
轉載
2746 人瀏覽過

1、Java IO和NIO之間第一個差異是,IO是面向流的,NIO是面向緩衝區的。

Java IO面向流意味著每次都能從流中讀取一個或多個位元組。從流中讀取多少位元組完全取決於程式設計師。這些位元組無法快取到任何地方;也就是說,你不能從流中前後移動資料。如果你真的需要移動數據,你需要先在緩衝區快取這些數據。

Java NIO對Buffer的看法稍微不同。當資料讀取到buffer中時,buffer將在以後處理。如果您需要,您可以在buffer中移動資料;這使程式設計師在處理時更加靈活。但是,您必須檢查buffer中是否包含您需要處理的所有資料。此外,您必須確保讀取資料到達buffer時,您無法覆蓋未處理的資料。

阻塞與非阻塞IO

2、Java IO中的各種流被堵塞,Java NIO是非阻塞模式保證執行緒要求從channel中讀取取數據。

Java IO中的各種流被堵塞,也就是說,當呼叫read()方法和write()方法時,執行緒會被堵塞,直到資料被讀取或完全寫入。在此期間,處理流程的線程將無法完成。

Java NIO非阻塞模式保證執行緒要求從channel讀取數據,直到此時channel才能使用,或者如果此時沒有資料可用,就什麼也不做。而不是保存阻塞,直到資料可以讀取,這裡執行緒可以做其他事情。

java基本資料型別有哪些

Java的基本資料型別分為:

1、整數型,用來表示整數的資料型別。

2、浮點型,用來表示小數的資料型別。

3、字元類型,字元類型的關鍵字是「char」。

4、布林類型,是表示邏輯值的基本資料型別。

以上是java中io和nio的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板