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

相关推荐
yBmZlQzJ3 分钟前
PyQt5 修改标签字体和颜色的程序
开发语言·python·qt
float_六七8 分钟前
Java Stream流:从入门到精通
java·windows·python
青云交20 分钟前
Java 大视界 -- 基于 Java 的大数据分布式存储在智慧城市时空大数据管理与应用中的创新实践(408)
java·hdfs·flink·智慧城市·hbase·java 分布式存储·时空大数据
赶飞机偏偏下雨27 分钟前
【Java笔记】单例模式
java·笔记·单例模式
10001hours35 分钟前
C语言第12讲
c语言·开发语言
努力的小帅1 小时前
C++_哈希
开发语言·c++·学习·算法·哈希算法·散列表
小蒜学长1 小时前
基于Spring Boot的火灾报警系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
武昌库里写JAVA1 小时前
基于Spring Boot + Vue3的办公用品申领管理系统
java·spring boot·后端
中国lanwp1 小时前
Spring Boot的配置文件加载顺序和规则
java·spring boot·后端
我命由我123451 小时前
Android 开发 - 一些画板第三方库(DrawBoard、FingerPaintView、PaletteLib)
android·java·java-ee·android studio·安卓·android-studio·android runtime