java.lang.Object
org.miaixz.bus.core.io.buffer.FastBuffer
- Direct Known Subclasses:
FastByteBuffer,FastCharBuffer
快速缓冲抽象类,用于快速读取、写入数据到缓冲区,减少内存复制 相对于普通Buffer,使用二维数组扩展长度,减少内存复制,提升性能
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int缓冲数protected int当前缓冲索引protected final int一个缓冲区的最小字节数protected int当前缓冲偏移量protected int缓冲字节数 -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
minChunkLen
protected final int minChunkLen一个缓冲区的最小字节数 -
buffersCount
protected int buffersCount缓冲数 -
currentBufferIndex
protected int currentBufferIndex当前缓冲索引 -
offset
protected int offset当前缓冲偏移量 -
size
protected int size缓冲字节数
-
-
Constructor Details
-
FastBuffer
public FastBuffer(int size) 构造- Parameters:
size- 一个缓冲区的最小字节数
-
-
Method Details
-
index
public int index()当前缓冲位于缓冲区的索引位- Returns:
currentBufferIndex
-
offset
public int offset()获取当前缓冲偏移量- Returns:
- 当前缓冲偏移量
-
reset
public void reset()复位缓冲 -
size
public int size()获取缓冲总长度- Returns:
- 缓冲总长度
-
length
public int length()获取缓冲总长度- Returns:
- 缓冲总长度
-
isEmpty
public boolean isEmpty()是否为空- Returns:
- 是否为空
-
ensureCapacity
protected abstract void ensureCapacity(int capacity) 检查现有缓冲区是否满足capacity,不满足则分配新的区域分配下一个缓冲区,不会小于1024- Parameters:
capacity- 理想缓冲区字节数
-