类 LocalCharArrayPool

java.lang.Object
cn.wjybxx.base.io.LocalCharArrayPool
所有已实现的接口:
ArrayPool<char[]>, ObjectPool<char[]>, Supplier<char[]>

public class LocalCharArrayPool extends Object implements ArrayPool<char[]>
基于ThreadLocal的简单buffer池 (默认不支持扩容,因此用途有限 -- 外部可以归还扩容后的数组)
作者:
wjybxx date 2023/3/31
  • 字段详细资料

  • 构造器详细资料

    • LocalCharArrayPool

      public LocalCharArrayPool()
  • 方法详细资料

    • rent

      public char[] rent()
      从接口复制的说明: ArrayPool
      返回池中一个默认大小的数组
      指定者:
      rent 在接口中 ArrayPool<char[]>
      指定者:
      rent 在接口中 ObjectPool<char[]>
      返回:
      如果池中有可用的对象,则返回缓存的对象,否则返回一个新的对象
    • rent

      public char[] rent(int minimumLength)
      从接口复制的说明: ArrayPool
      1.返回的字节数组可能大于期望的数组长度4 2.默认情况下不清理
      指定者:
      rent 在接口中 ArrayPool<char[]>
      参数:
      minimumLength - 期望的最小数组长度
      返回:
      池化的字节数组
    • rent

      public char[] rent(int minimumLength, boolean clear)
      指定者:
      rent 在接口中 ArrayPool<char[]>
      参数:
      minimumLength - 期望的最小数组长度
      clear - 返回前是否先清理,这对于共享池来说比较重要
      返回:
      池化的字节数组
    • returnOne

      public void returnOne(char[] array)
      从接口复制的说明: ArrayPool
      归还数组到池 是否清理数组取决于配置和实现
      指定者:
      returnOne 在接口中 ArrayPool<char[]>
      指定者:
      returnOne 在接口中 ObjectPool<char[]>
      参数:
      array - 要回收的对象
    • returnOne

      public void returnOne(char[] array, boolean clear)
      从接口复制的说明: ArrayPool
      归还数组到池
      指定者:
      returnOne 在接口中 ArrayPool<char[]>
      参数:
      array - 租借的对象
      clear - 是否清理数组 - 只有当前池默认不清理的情况下,该参数才有效用。
    • freeAll

      public void freeAll()
      从接口复制的说明: ObjectPool
      释放此池中的所有对象 (可空实现)
      指定者:
      freeAll 在接口中 ObjectPool<char[]>
    • localInst

      public SimpleArrayPool<char[]> localInst()
      获取线程本地实例 - 慎用;定义为实例方法,以免和INSTANCE的提示冲突