国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 淺析Java IO相關知識點

淺析Java IO相關知識點

2021-05-06 11:06meng劇場 Java教程

本篇文章給大家分享了關于java io的一些相關知識點以及相關內容,對此有需要的朋友可以學習參考下。

最近面試問的比較多的問題就是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

起一個線程去執行吧

原文鏈接:https://segmentfault.com/a/1190000015008372

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费嗨片网 | 最近2019年好看中文字幕视频 | 成人午夜激情 | 亚洲国产精品一区二区久久 | 国产一区免费视频 | 免费的黄视频 | 国产裸体永久免费视频网站 | 国产精品无码久久久久 | 一区二区三区精品视频 | 亚洲一区二区 | 欧美亚洲一区 | 黄色片免费在线观看 | 欧美一区二区三区 | 国内自拍网站 | 中文字幕视频在线 | 久久男人 | 日韩一区二区在线播放 | 91av在线视频播放 | 亚洲综合影院 | 亚洲欧美日韩在线 | 香蕉久久久久久 | 色偷偷噜噜噜亚洲男人 | 九九人人| 日韩综合网 | 欧美视频一区二区三区 | 日本视频一区二区三区 | 色天堂视频 | 国产人妖视频 | 久久久区 | 久久国产电影 | 国产亚洲精品久久久久动 | 免费在线观看黄色 | 狠狠久久综合 | 人人爽人人爽人人片av | 国产精品资源在线观看 | 日韩高清一区二区 | 国产综合精品一区二区三区 | 毛片免费观看视频 | 欧美一区二区三区在线观看视频 | 三区视频| 黄色美女在线观看 |