黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 精選Java io流練習(xí)題,大家趕快收藏吧

精選Java io流練習(xí)題,大家趕快收藏吧

更新時(shí)間:2020-08-03 11:32:12 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3299次

1、IO里面的常見(jiàn)類(lèi),字節(jié)流、字符流、接口、實(shí)現(xiàn)類(lèi)、方法阻塞?

輸入流就是從外部文件輸入到內(nèi)存,輸出流主要是從內(nèi)存輸出到文件。

IO里面常見(jiàn)的類(lèi),第一印象就只知道IO流中有很多類(lèi),IO流主要分為字符流和字節(jié)流。字符流中有抽象類(lèi)InputStream和OutputStream,它們的子類(lèi)FileInputStream,F(xiàn)ileOutputStream,BufferedOutputStream等。字符流BufferedReader和Writer等。都實(shí)現(xiàn)了Closeable,Flushable,Appendable這些接口。程序中的輸入輸出都是以流的形式保存的,流中保存的實(shí)際上全都是字節(jié)文件。

java中的阻塞式方法是指在程序調(diào)用改方法時(shí),必須等待輸入數(shù)據(jù)可用或者檢測(cè)到輸入結(jié)束或者拋出異常,否則程序會(huì)一直停留在該語(yǔ)句上,不會(huì)執(zhí)行下面的語(yǔ)句。比如read()和readLine()方法。

2、談?wù)剬?duì)NIO的認(rèn)知?

對(duì)于NIO,它是非阻塞式,核心類(lèi):

1.Buffer為所有的原始類(lèi)型提供(Buffer)緩存支持。

2.Charset字符集編碼解碼解決方案

3.Channel一個(gè)新的原始I/O抽象,用于讀寫(xiě)B(tài)uffer類(lèi)型,通道可以認(rèn)為是一種連接,可以是到特定設(shè)備,程序或者是網(wǎng)絡(luò)的連接。

3、字節(jié)流和字符流的區(qū)別?

字符流和字節(jié)流的使用非常相似,但是實(shí)際上字節(jié)流的操作不會(huì)經(jīng)過(guò)緩沖區(qū)(內(nèi)存)而是直接操作文本本身的,而字符流的操作會(huì)先經(jīng)過(guò)緩沖區(qū)(內(nèi)存)然后通過(guò)緩沖區(qū)再操作文件

以字節(jié)為單位輸入輸出數(shù)據(jù),字節(jié)流按照8位傳輸

以字符為單位輸入輸出數(shù)據(jù),字符流按照16位傳輸

4、NIO和傳統(tǒng)的IO有什么區(qū)別?

1、傳統(tǒng)IO一般是一個(gè)線程等待連接,連接過(guò)來(lái)之后分配給processor線程,processor線程與通道連接后如果通道沒(méi)有數(shù)據(jù)過(guò)來(lái)就會(huì)阻塞(線程被動(dòng)掛起)不能做別的事情。NIO則不同,首先,在selector線程輪詢(xún)的過(guò)程中就已經(jīng)過(guò)濾掉了不感興趣的事件,其次,在processor處理感興趣事件的read和write都是非阻塞操作即直接返回的,線程沒(méi)有被掛起。

2、傳統(tǒng)io的管道是單向的,nio的管道是雙向的。

3、兩者都是同步的,也就是java程序親力親為的去讀寫(xiě)數(shù)據(jù),不管傳統(tǒng)io還是nio都需要read和write方法,這些都是java程序調(diào)用的而不是系統(tǒng)幫我們調(diào)用的,nio2.0里這點(diǎn)得到了改觀,即使用異步非阻塞AsynchronousXXX四個(gè)類(lèi)來(lái)處理。

5、BIO和NIO和AIO的區(qū)別以及應(yīng)用場(chǎng)景?

同步:java自己去處理io。

異步:java將io交給操作系統(tǒng)去處理,告訴緩存區(qū)大小,處理完成回調(diào)。

阻塞:使用阻塞IO時(shí),Java調(diào)用會(huì)一直阻塞到讀寫(xiě)完成才返回。

非阻塞:使用非阻塞IO時(shí),如果不能立馬讀寫(xiě),Java調(diào)用會(huì)馬上返回,當(dāng)IO事件分發(fā)器通知可讀寫(xiě)時(shí)在進(jìn)行讀寫(xiě),不斷循環(huán)直到讀寫(xiě)完成。

BIO:同步并阻塞,服務(wù)器的實(shí)現(xiàn)模式是一個(gè)連接一個(gè)線程,這樣的模式很明顯的一個(gè)缺陷是:由于客戶(hù)端連接數(shù)與服務(wù)器線程數(shù)成正比關(guān)系,可能造成不必要的線程開(kāi)銷(xiāo),嚴(yán)重的還將導(dǎo)致服務(wù)器內(nèi)存溢出。當(dāng)然,這種情況可以通過(guò)線程池機(jī)制改善,但并不能從本質(zhì)上消除這個(gè)弊端。

NIO:在JDK1.4以前,Java的IO模型一直是BIO,但從JDK1.4開(kāi)始,JDK引入的新的IO模型NIO,它是同步非阻塞的。而服務(wù)器的實(shí)現(xiàn)模式是多個(gè)請(qǐng)求一個(gè)線程,即請(qǐng)求會(huì)注冊(cè)到多路復(fù)用器Selector上,多路復(fù)用器輪詢(xún)到連接有IO請(qǐng)求時(shí)才啟動(dòng)一個(gè)線程處理。

AIO:JDK1.7發(fā)布了NIO2.0,這就是真正意義上的異步非阻塞,服務(wù)器的實(shí)現(xiàn)模式為多個(gè)有效請(qǐng)求一個(gè)線程,客戶(hù)端的IO請(qǐng)求都是由OS先完成再通知服務(wù)器應(yīng)用去啟動(dòng)線程處理(回調(diào))。

應(yīng)用場(chǎng)景:并發(fā)連接數(shù)不多時(shí)采用BIO,因?yàn)樗幊毯驼{(diào)試都非常簡(jiǎn)單,但如果涉及到高并發(fā)的情況,應(yīng)選擇NIO或AIO,更好的建議是采用成熟的網(wǎng)絡(luò)通信框架Netty。

精選Java io流練習(xí)題,大家趕快收藏吧g

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“精選Java io流練習(xí)題,大家趕快收藏吧”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 在线 中文字幕 日韩 欧美 | 欧美一级片在线播放 | 亚洲大片| 久草手机视频在线 | 夜色在线影院 | free极度另类性欧美 | 亚洲欧美婷婷 | 2015日韩永久免费视频播放 | 中文字幕在线观看免费视频 | 天天摸天天碰天天爽天天弄 | 色偷偷亚洲第一成人综合网址 | 成人免费xxxxx在线视频 | 黄网免费视频 | 久久免费观看国产精品 | 天天插天天摸 | 美女免费视频一区二区三区 | 国产精品黄在线观看免费网站 | 成人在线精品视频 | 波多野结衣福利 | 7m凹凸国产刺激在线视频 | 日本欧美不卡一区二区三区在线 | 国产成人乱码一区二区三区在线 | 狠狠干综合网 | 成人在线一区二区 | 在线日韩中文字幕 | 国产成人精品午夜在线播放 | 欧美色综合网站 | 日韩精品在线第一页 | 播五月婷婷 | 免费在线观看的毛片 | 亚洲欧洲日产v特级毛片 | 免费的三级毛片 | 免费观看欧美性一级 | 进来综合网 | 久久综合九色综合97小说 | 免费黄色短片 | 国产激情一区二区三区在线观看 | 青青青国产依人在线视频97 | 亚洲影视网 | 国产精品青草久久福利不卡 | 污污视频网址 |