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: 标记

相关推荐
开源之眼13 分钟前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori3161 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户908324602732 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋2 小时前
DecimalFormat 与 BigDecimal
java·后端
beata2 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端
IT探险家2 小时前
你的第一个 Java 程序就翻车?HelloWorld 的 8 个隐藏陷阱
java
随风飘的云2 小时前
SpringBoot 的自动配置原理
java
SimonKing2 小时前
觅得又一款轻量级数据库管理工具:GoNavi
java·后端·程序员
Seven973 小时前
BIO详解:解锁阻塞IO的使用方式
java
oak隔壁找我13 小时前
JVM常用调优参数
java·后端