亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Java NIO(一)概述

系統(tǒng) 2054 0
Java nio的3個(gè)特性
Java NIO(New IO)是一個(gè)可以替代標(biāo)準(zhǔn)Java IO API的IO API(從Java 1.4開(kāi)始),Java NIO提供了與標(biāo)準(zhǔn)IO不同的IO工作方式。

Channels and Buffers(通道和緩沖區(qū))
標(biāo)準(zhǔn)的IO基于字節(jié)流和字符流進(jìn)行操作的,而NIO是基于通道(Channel)和緩沖區(qū)(Buffer)進(jìn)行操作,數(shù)據(jù)總是從通道讀取到緩沖區(qū)中,或者從緩沖區(qū)寫(xiě)入到通道中。

Asynchronous IO(異步IO)
Java NIO可以讓你異步的使用IO,例如:當(dāng)線程從通道讀取數(shù)據(jù)到緩沖區(qū)時(shí),線程還是可以進(jìn)行其他事情。當(dāng)數(shù)據(jù)被寫(xiě)入到緩沖區(qū)時(shí),線程可以繼續(xù)處理它。從緩沖區(qū)寫(xiě)入通道也類似。

Selectors(選擇器)
Java NIO引入了選擇器的概念,選擇器用于監(jiān)聽(tīng)多個(gè)通道的事件(比如:連接打開(kāi),數(shù)據(jù)到達(dá))。因此,單個(gè)的線程可以監(jiān)聽(tīng)多個(gè)數(shù)據(jù)通道。

Java NIO 由以下幾個(gè)核心部分組成
Channels
Buffers
Selectors
雖然Java NIO 中除此之外還有很多類和組件,但在我看來(lái),Channel,Buffer 和 Selector 構(gòu)成了核心的API。其它組件,如Pipe和FileLock,只不過(guò)是與三個(gè)核心組件共同使用的工具類。因此,在概述中我將集中在這三個(gè)組件上。其它組件會(huì)在單獨(dú)的章節(jié)中講到。

Channel 和 Buffer
基本上,所有的 IO 在NIO 中都從一個(gè)Channel 開(kāi)始。Channel 有點(diǎn)象流。 數(shù)據(jù)可以從Channel讀到Buffer中,也可以從Buffer 寫(xiě)到Channel中。這里有個(gè)圖示:
Java NIO(一)概述

Channel和Buffer有好幾種類型。下面是JAVA NIO中的一些主要Channel的實(shí)現(xiàn):
FileChannel
DatagramChannel
SocketChannel
ServerSocketChannel
正如你所看到的,這些通道涵蓋了UDP 和 TCP 網(wǎng)絡(luò)IO,以及文件IO。

與這些類一起的有一些有趣的接口,但為簡(jiǎn)單起見(jiàn),我盡量在概述中不提到它們。本教程其它章節(jié)與它們相關(guān)的地方我會(huì)進(jìn)行解釋。

以下是Java NIO里關(guān)鍵的Buffer實(shí)現(xiàn):
ByteBuffer
CharBuffer
DoubleBuffer
FloatBuffer
IntBuffer
LongBuffer
ShortBuffer
這些Buffer覆蓋了你能通過(guò)IO發(fā)送的基本數(shù)據(jù)類型:byte, short, int, long, float, double 和 char。Java NIO 還有個(gè) Mappedyteuffer,用于表示內(nèi)存映射文件。

Selector
Selector允許單線程處理多個(gè) Channel。如果你的應(yīng)用打開(kāi)了多個(gè)連接(通道),但每個(gè)連接的流量都很低,使用Selector就會(huì)很方便。例如,在一個(gè)聊天服務(wù)器中。

這是在一個(gè)單線程中使用一個(gè)Selector處理3個(gè)Channel的圖示:
Java NIO(一)概述

要使用Selector,得向Selector注冊(cè)Channel,然后調(diào)用它的select()方法。這個(gè)方法會(huì)一直阻塞到某個(gè)注冊(cè)的通道有事件就緒。一旦這個(gè)方法返回,線程就可以處理這些事件,事件的例子有如新連接進(jìn)來(lái),數(shù)據(jù)接收等。

Java NIO(一)概述


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 成人午夜在线观看 | 成人毛片大全 | 精品久久久久久婷婷 | 在线播放国产视频 | 99精品久久久久久久 | 草草影视在线观看 | 亚洲国产精品高清在线一区 | 亚洲第一成年人网站 | 一本一本久久α久久精品66 | 国产精品美女免费视频大全 | 开心久久婷婷综合中文字幕 | h视频在线观看免费网站 | 国产69精品久久久久99尤物 | 色婷婷中文字幕 | 日韩一区二区免费视频 | 在线日韩中文字幕 | 夜夜夜网站 | 亚洲伊人久久综合影院2021 | 日韩成人国产精品视频 | 免费国产成人午夜在线观看 | 亚洲精品欧美日韩 | 一级片看看 | 久草在线这里只有精品 | 久久这里只有精品6 | 欧美不卡影院 | 精品久久久久久国产91 | 日韩精品一区二三区中文 | 国产欧美日韩一区 | 四虎免费永久观看 | 亚洲精品免费日日日夜夜夜夜 | 亚洲福利影院 | 亚洲精品日本一区二区在线 | 亚洲欧美一区二区三区九九九 | 男人资源站 | 亚洲激情在线看 | 成人精品国产亚洲欧洲 | 在线免费观看亚洲 | 免费澳门一级毛片 | 亚欧精品一区二区三区 | 孕妇xxxxxx孕交xxx | 青青爽国产手机在线观看免费 |