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