亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java io的重要性

發布時間:2020-10-27 10:39:20 來源:億速云 閱讀:174 作者:小新 欄目:編程語言

java io的重要性?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

 Java的IO流是實現輸入/輸出的基礎,它可以方便地實現數據的輸入/輸出操作,在Java中把不同的輸入/輸出源抽象表述為"流"。

流是一組有順序的字節集合,是對數據傳輸的總稱或抽象。

流有輸入和輸出,輸入時是流從數據源流向程序。輸出時是流從程序傳向數據源,而數據源可以是內存,文件,網絡或程序等。

用戶進程和操作系統內核

Java 中的IO可以理解為是在Java程序和操作系統內核兩個對象之間進行的。
后面所說的阻塞和非阻塞,同步和異步都是這兩個對象相互作用的結果。在本文中,用戶進程指的就是Java程序。

程序空間和內核空間

Waiting for the data to be ready(等待數據到達內核緩沖區)

Copying the data from the kernel to the process(從內核緩沖區拷貝數據到程序緩沖區)

在Linux中,對于一次讀取IO的操作,數據并不會直接拷貝到程序的程序緩沖區。

它首先會被拷貝到操作系統內核的緩沖區中,然后才會從操作系統內核的緩沖區拷貝到應用程序的緩沖區。

程序空間:分配給用戶程序的內存空間。

內核空間:內核擁有的內存空間。

阻塞和非阻塞

阻塞:用戶進程進行系統調用后,用戶進程一直處于鎖定的狀態,不能進行其他操作

非阻塞:用戶進程進行系統調用后,用戶進程沒有被鎖定,可以進行其他操作

阻塞和非阻塞說的是用戶進程的狀態,即用戶進程是否被鎖定

同步和異步

A synchronous I/O operation causes the requesting process to be blocked until that I/O operation completes.
An asynchronous I/O operation does not cause the requesting process to be blocked.

一個同步的io操作會導致發起請求的進程阻塞直到這個io操作完成。一個異步的io操作不會導致請求的線程被阻塞。

同步:用戶線程和io線程做同一件事(用戶線程被阻塞,等待內核返回處理結果)

異步:用戶線程和io線程做不同的事情(用戶線程不被阻塞,做其他的事情,內核處理完成發送結果給用戶線程)

文件描述符

在Linux下面一切皆文件。文件描述符(file descriptor)是內核為文件所創建的索引,所有I/O操作都通過調用文件描述符(索引)來執行,包括下面我們要提到的socket。Linux剛啟動的時候會自動設置0是標準輸入,1是標準輸出,2是標準錯誤。

感謝各位的閱讀!看完上述內容,你們對java io的重要性大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

保山市| 乌鲁木齐市| 丹棱县| 虞城县| 韶山市| 远安县| 灌云县| 荔浦县| 五莲县| 琼海市| 邯郸县| 黄石市| 乐亭县| 徐州市| 谢通门县| 新余市| 英山县| 镇坪县| 于田县| 古交市| 梅河口市| 德阳市| 陆良县| 宁陵县| 璧山县| 建始县| 丹东市| 博爱县| 高碑店市| 花莲县| 航空| 会理县| 安化县| 石景山区| 子长县| 凤凰县| 论坛| 固镇县| 文山县| 土默特左旗| 巩留县|