W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
通過之前的章節(jié)我們知道byte(字節(jié))一直都是網(wǎng)絡(luò)數(shù)據(jù)的基本單位。然而Java NIO提供的字節(jié)容器ByteBuffer的作用受到限制,也沒有經(jīng)過優(yōu)化,所以使用ByteBuffer會(huì)讓事情變得繁瑣和復(fù)雜。
幸運(yùn)的是,在Netty中提供了一個(gè)強(qiáng)大的緩沖實(shí)現(xiàn)類用來表示字節(jié)序列以及幫助你操作字節(jié)和自定義的POJO。這個(gè)新的緩沖類,ByteBuf,它的效率與JDK的ByteBuffer相當(dāng)。設(shè)計(jì)ByteBuf是為了在Netty的pipeline中傳輸數(shù)據(jù)。它是為了解決ByteBuffer存在的一些問題以及滿足網(wǎng)絡(luò)程序開發(fā)者的需求,以提高他們的生產(chǎn)效率而被設(shè)計(jì)出來的。
請(qǐng)注意,在本書剩下的章節(jié)中,為了幫助區(qū)分,我將使用數(shù)據(jù)容器指代Netty的緩沖接口及實(shí)現(xiàn),同時(shí)仍然使用Java的緩沖API指代JDK的緩沖實(shí)現(xiàn)。
在本章中,你將會(huì)學(xué)習(xí)Netty的緩沖API,為什么它能夠超過JDK的實(shí)現(xiàn),它是如何做到這一點(diǎn),以及為什么它會(huì)比JDK的實(shí)現(xiàn)更加靈活。你將會(huì)深入了解到如何在Netty框架中訪問被交換數(shù)據(jù)以及你能對(duì)它做些什么。這一章是之后章節(jié)的基礎(chǔ),因?yàn)閹缀鮊etty框架的每一個(gè)地方都用到了緩沖。
因?yàn)閿?shù)據(jù)需要經(jīng)過ChannelPipeline和ChannelHandler進(jìn)行傳輸,而這又離不開緩沖,所以緩沖在Netty應(yīng)用程序中是十分普遍的。我們將在第6章學(xué)習(xí)ChannelHandler和ChannelPipeline。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: