這篇文章主要介紹了Java中IO相關知識點有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
站在用戶的角度思考問題,與客戶深入溝通,找到柯坪網站設計與柯坪網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、成都做網站、外貿網站建設、企業官網、英文網站、手機端網站、網站推廣、域名申請、雅安服務器托管、企業郵箱。業務覆蓋柯坪地區。1,用戶空間系統空間
Linux系統會把一個進程分為兩個空間,用戶空間和系統空間,比如我們正常的編碼,操作的都是用戶空間的,那如果我們需要調用系統功能,比如拷貝系統文件,這種就需要調用系統組件,獲取內核服務,完成操作
IO的兩個階段
IO的執行過程中分為兩個階段,等待就緒,執行拷貝
等待就緒:我們知道,我們執行IO操作的時候,數據可能來自別的應用程序或者網絡,如果沒有數據,操作系統是會一直等待的,此時,應用程序可能也會一直等待
執行拷貝:將數據拷貝到應用程序工作區
阻塞與非阻塞,同步與異步
先說同步與非同步,最簡單就是看是否啟動一個線程或者進程來完成IO這件事情,同步IO的時候,系統會停下來等這個做完才能做別的事情,而異步IO就利用多線程的方式,啟動一個新的線程去做這件事情,而自己就可以去干別的事情等待通知
再說阻塞與非阻塞吧,這兩個其實關注的是程序在等待調用結果的時候的狀態,阻塞是指,你在獲取這個結果的時候,你會一直掛起,直到等到完整結果之后你才會繼續執行,非阻塞是指,在該進程不能獲取結果的時候,沒有阻塞線程,這個有點繞,有一個通俗的解釋,如果是阻塞的,我要獲取這個東西,獲取過程中,我就失去了CPU,等到結果之后我才會獲取CPU,但是如果我是非阻塞,我就繼續持有CPU,我還可以一直檢查
幾種IO模型
目前比較多的就是5種
阻塞IO
最傳統的一種IO,即讀寫會發生阻塞現象的
非阻塞IO
用戶發起read的時候,并不會失去CPU,會一直check,如果沒有成功,會返回一個error,如果收到成功信號,就會發起read操作,獲取完整結果
多路復用IO
這個就是Java NIO的核心了,會有一個線程管理多個socket的狀態,檢查是否有準備好的,只有發現真正準備好,才會調用cpu執行IO操作,這塊是比較重要的
信號驅動IO
用的少,忽略
異步IO
起一個線程去執行吧
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java中IO相關知識點有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!
分享標題:Java中IO相關知識點有哪些-創新互聯
文章出自:http://vcdvsql.cn/article32/ggjpc.html
成都網站建設公司_創新互聯,為您提供網站維護、用戶體驗、定制開發、網站改版、品牌網站建設、關鍵詞優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯