Java Netty - Buffer类

Buffer类

当应用程序进行数据传输的时候,往往需要使用缓冲区,常用的缓存区就是JDK NIO类库提供的 java.nio.Buffer;
NIO的Buffer本质上是一个内存块,既可以写入数据,也可以从中读取数据;
其中,Java NIO中代表缓冲区的Buffer类是一个抽象类,对应于Java的主要数据类型,在NIO中有8种缓存区,分别如下:ByteBuffer,CharBuffer,DoubleBuffer,FloatBuffer,IntBuffer,LongBuffer,ShortBuffer,MappedByteBuffer;前7种 Buffer类型,覆盖了能在 IO中传输的所有的 Java基本数据类型,第8种类型MappedByteBuffer是专门用于内存映射的一种 ByteBuffer类型;

Buffer类以及子类


IntBuffer - int类型的缓冲区。
ShortBuffer - short类型的缓冲区。
LongBuffer - long类型的缓冲区。
FloatBuffer - float类型的缓冲区。
DoubleBuffer - double类型的缓冲区。
ByteBuffer - byte类型的缓冲区。
CharBuffer - char类型的缓冲区。

我们来看看Buffer的源码 定义了四个核心的变量~


capacity: 容量 即最大的数据量,在缓冲区创建时设定bong不能改变
limit: 表示缓冲区的点 不能对缓冲区超过极限的位置进行读写操作,且极限是可以修改的
position: 位置(下标)下一个要是被读或写的元素的索引,每次读写缓冲区操作 且极限是可以是修改的

mark: 标记

相关推荐
kimnoic1 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
别动我齐刘海2 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
必须得开心呀2 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python
code2cat3 小时前
Java进阶篇之AtomicLongFieldUpdater:把累计额度留在对象字段中
java·cas·并发编程
WeiXin_DZbishe3 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
泡茶喝茶写代码3 小时前
A股量化数据工程:从 REST 接口到策略信号(第 18 篇):放量缩量异动扫描
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
wewowilling3 小时前
认识微服务
java·运维·微服务·springcloud
代码什么用4 小时前
Java Web 7-10
java·servlet
沫璃染墨4 小时前
《Qt从零入门系列(十三):QSS样式表详解——从选择器与层叠规则到控件美化实战》
开发语言·css·c++·qt·ui·qt6.3·qss