文章目录
一、前言
本文讲述三个问题
bytebuf + 网络中的粘包拆包 + 编码解码
源码下载:https://www.syjshare.com/res/1PGT166S
二、ByteBuf(Netty API中定义的数据类型)
bytebuff四点
(1) 256 扩容方式(小于512 大于512)
(2)新建bytebuff两种方式 堆内(jvm) 堆外(操作系统)
(3)四个字段:废弃 读指针 写指针 可扩容 读写api
(4)零拷贝三种方式
2.1 ByteBuf
在Netty中,还有另外一个比较常见的对象ByteBuf,它其实等同于Java Nio中的ByteBuffer,但是
ByteBuf对Nio中的ByteBuffer的功能做了很作增强,下面我们来简单了解一下ByteBuf。
下面这段代码演示了ByteBuf的创建以及内容的打印,这里显示出了和普通ByteBuffer最大的区别之
一,就是ByteBuf可以自动扩容,默认长度是256,如果内容长度超过阈值时,会自动触发扩容
2.1.1 ByteBuf创建的方法有两种
第一种,创建基于堆内存的ByteBuf
ByteBuf