java.lang.Object
cn.wjybxx.base.io.LocalByteArrayPool
- 所有已实现的接口:
ArrayPool<byte[]>,ObjectPool<byte[]>,Supplier<byte[]>
基于ThreadLocal的简单buffer池
(默认不支持扩容,因此用途有限 -- 外部可以归还扩容后的数组)
(netty的ByteBuf池化是做得比较好的)
- 作者:
- wjybxx date 2023/3/31
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidfreeAll()释放此池中的所有对象 (可空实现)SimpleArrayPool<byte[]> 获取线程本地实例 - 慎用;定义为实例方法,以免和INSTANCE的提示冲突byte[]rent()返回池中一个默认大小的数组byte[]rent(int minimumLength) 1.返回的字节数组可能大于期望的数组长度4 2.默认情况下不清理byte[]rent(int minimumLength, boolean clear) voidreturnOne(byte[] array) 归还数组到池 是否清理数组取决于配置和实现voidreturnOne(byte[] array, boolean clear) 归还数组到池从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 cn.wjybxx.base.pool.ObjectPool
get, returnAll
-
字段详细资料
-
INSTANCE
-
-
构造器详细资料
-
LocalByteArrayPool
public LocalByteArrayPool()
-
-
方法详细资料
-
rent
public byte[] rent()从接口复制的说明:ArrayPool返回池中一个默认大小的数组- 指定者:
rent在接口中ArrayPool<byte[]>- 指定者:
rent在接口中ObjectPool<byte[]>- 返回:
- 如果池中有可用的对象,则返回缓存的对象,否则返回一个新的对象
-
rent
public byte[] rent(int minimumLength) 从接口复制的说明:ArrayPool1.返回的字节数组可能大于期望的数组长度4 2.默认情况下不清理 -
rent
public byte[] rent(int minimumLength, boolean clear) -
returnOne
public void returnOne(byte[] array) 从接口复制的说明:ArrayPool归还数组到池 是否清理数组取决于配置和实现- 指定者:
returnOne在接口中ArrayPool<byte[]>- 指定者:
returnOne在接口中ObjectPool<byte[]>- 参数:
array- 要回收的对象
-
returnOne
public void returnOne(byte[] array, boolean clear) 从接口复制的说明:ArrayPool归还数组到池 -
freeAll
public void freeAll()从接口复制的说明:ObjectPool释放此池中的所有对象 (可空实现)- 指定者:
freeAll在接口中ObjectPool<byte[]>
-
localInst
获取线程本地实例 - 慎用;定义为实例方法,以免和INSTANCE的提示冲突
-