博客
关于我
netty——bytebuf的创建、内存分配与池化、组成、扩容规则、写入读取、内存回收、零拷贝
阅读量:789 次
发布时间:2023-02-14

本文共 617 字,大约阅读时间需要 2 分钟。

文章目录

ByteBuf

ByteBuf是对nio中ByteBuffer的增强。主要的增强点就是ByteBuf它可以动态调整容量大小,当要存储的数据超过了当前容量的上限就会进行扩容,扩容的上限是多少?扩容机制是什么?请跟着本文往下看。对了,还有一个增强就是byteBuf不用和ByteBuffer一样进行读写模式的切换,ByteBuffer中读与写是共用一个指针,而ByteBuf既有读指针,也有写指针。

创建

ByteBufAllocator类中有一个默认实现,我们可以使用这个默认实现来创建一个Bytebuf

import io.netty.buffer.ByteBuf;import io.netty.buffer.ByteBufAllocator;public class ByteBufCreateTest {          public static void main(String[] args) {              ByteBuf buffer = ByteBufAllocator.DEFAULT.buffer();    }}

这里可以指定ByteBuf的容量,可以传一个int,如果不指定的话默认是256。

这里比nio好的一个地方就是,netty的Bytebuf容量的可以动态扩容的,而nio的ByteBuffer指定了就不能动了。

然后往ByteBuf中添加数据,验证是否会扩容

public

转载地址:http://dccfk.baihongyu.com/

你可能感兴趣的文章
NetScaler的常用配置
查看>>
netsh advfirewall
查看>>
NETSH WINSOCK RESET这条命令的含义和作用?
查看>>
netstat kill
查看>>
netstat命令用法详解
查看>>
Netstat端口占用情况
查看>>
Netty 4的内存管理:sun.misc.Unsafe
查看>>
Netty channelRegistered\ChannelActive---源码分析
查看>>
Netty NIO transport && OIO transport
查看>>
netty php,netty
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Vue过渡 & 动画---vue工作笔记0014
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty 的 Handler 链调用机制
查看>>
Netty 编解码器和 Handler 调用机制
查看>>
Netty 编解码器详解
查看>>
Netty 解决TCP粘包/半包使用
查看>>
Netty 调用,效率这么低还用啥?
查看>>
Netty 高性能架构设计
查看>>