Java中IO相關知識點有哪些

這篇文章主要介紹了Java中IO相關知識點有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設擁有電腦版、微信版、手機版的企業(yè)網(wǎng)站。實現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡+移動網(wǎng)絡一網(wǎng)打盡,滿足企業(yè)的營銷需求!創(chuàng)新互聯(lián)公司具備承接各種類型的網(wǎng)站設計、成都網(wǎng)站設計項目的能力。經(jīng)過10年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務,并獲得了客戶的一致好評。

1,用戶空間系統(tǒng)空間

Linux系統(tǒng)會把一個進程分為兩個空間,用戶空間和系統(tǒng)空間,比如我們正常的編碼,操作的都是用戶空間的,那如果我們需要調(diào)用系統(tǒng)功能,比如拷貝系統(tǒng)文件,這種就需要調(diào)用系統(tǒng)組件,獲取內(nèi)核服務,完成操作

IO的兩個階段

IO的執(zhí)行過程中分為兩個階段,等待就緒,執(zhí)行拷貝

等待就緒:我們知道,我們執(zhí)行IO操作的時候,數(shù)據(jù)可能來自別的應用程序或者網(wǎng)絡,如果沒有數(shù)據(jù),操作系統(tǒng)是會一直等待的,此時,應用程序可能也會一直等待
執(zhí)行拷貝:將數(shù)據(jù)拷貝到應用程序工作區(qū)

阻塞與非阻塞,同步與異步

先說同步與非同步,最簡單就是看是否啟動一個線程或者進程來完成IO這件事情,同步IO的時候,系統(tǒng)會停下來等這個做完才能做別的事情,而異步IO就利用多線程的方式,啟動一個新的線程去做這件事情,而自己就可以去干別的事情等待通知

再說阻塞與非阻塞吧,這兩個其實關注的是程序在等待調(diào)用結果的時候的狀態(tài),阻塞是指,你在獲取這個結果的時候,你會一直掛起,直到等到完整結果之后你才會繼續(xù)執(zhí)行,非阻塞是指,在該進程不能獲取結果的時候,沒有阻塞線程,這個有點繞,有一個通俗的解釋,如果是阻塞的,我要獲取這個東西,獲取過程中,我就失去了CPU,等到結果之后我才會獲取CPU,但是如果我是非阻塞,我就繼續(xù)持有CPU,我還可以一直檢查

幾種IO模型

目前比較多的就是5種

阻塞IO

最傳統(tǒng)的一種IO,即讀寫會發(fā)生阻塞現(xiàn)象的

非阻塞IO

用戶發(fā)起read的時候,并不會失去CPU,會一直check,如果沒有成功,會返回一個error,如果收到成功信號,就會發(fā)起read操作,獲取完整結果

多路復用IO

這個就是Java NIO的核心了,會有一個線程管理多個socket的狀態(tài),檢查是否有準備好的,只有發(fā)現(xiàn)真正準備好,才會調(diào)用cpu執(zhí)行IO操作,這塊是比較重要的

信號驅動IO

用的少,忽略

異步IO

起一個線程去執(zhí)行吧

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java中IO相關知識點有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!

當前標題:Java中IO相關知識點有哪些
文章URL:http://www.muchs.cn/article40/gehceo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站導航電子商務、網(wǎng)站維護網(wǎng)站制作、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司