ByteBuf 内存问题
创始人
2024-05-31 16:52:51
0

Netty的ByteBuf和NIO的ByteBuffer,支持池化操作。提供了两种类型的内存:

一、直接内存。

ByteBufAllocator.DEFAULT.directBuffer()

        ①直接内存读写效率非常高,少了一次内存复制。

        ②直接内存少了GC的管理,对JVM GC压力小。

        ③由于直接使用的系统的内存,因此内存分散,连续性差。

        ④GC不管理内存,因此要自己手动释放。

二、堆内存

        使用:ByteBufAllocator.DEFAULT.heapBuffer()创建堆内存

        JVM从内存中划出的一部分内存,连续性好。

三、组成部分:

  byteBuf,由四部分组成:

  ①写指针②读指针③容量④最大容量

因此分为:

      扩容部分内存、可写部分、可读部分,废弃部分

四、释放问题

        直接内存遵循:谁最后用,谁释放relase,释放算法为引用计数。

扩展:

         如果对原有bytebuf进行了slice() 操作。这时候再调用release会释放原来的内存;解决方案可以是:        

retain() :重新给引用计数+1

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...