Class PoolFactory

java.lang.Object
com.landawn.abacus.pool.PoolFactory

public abstract class PoolFactory extends Object
A factory for creating Pool objects.
Since:
0.8
Author:
Haiyang Li
  • Method Details

    • createObjectPool

      public static <E extends Poolable> ObjectPool<E> createObjectPool(int capacity)
      Creates a new Pool object.
      Type Parameters:
      E -
      Parameters:
      capacity -
      Returns:
    • createObjectPool

      public static <E extends Poolable> ObjectPool<E> createObjectPool(int capacity, long evictDelay)
      Creates a new Pool object.
      Type Parameters:
      E -
      Parameters:
      capacity -
      evictDelay -
      Returns:
    • createObjectPool

      public static <E extends Poolable> ObjectPool<E> createObjectPool(int capacity, long evictDelay, EvictionPolicy evictionPolicy)
      Creates a new Pool object.
      Type Parameters:
      E -
      Parameters:
      capacity -
      evictDelay -
      evictionPolicy -
      Returns:
    • createObjectPool

      public static <E extends Poolable> ObjectPool<E> createObjectPool(int capacity, long evictDelay, EvictionPolicy evictionPolicy, long maxMemorySize, ObjectPool.MemoryMeasure<E> memoryMeasure)
      Creates a new Pool object.
      Type Parameters:
      E -
      Parameters:
      capacity -
      evictDelay -
      evictionPolicy -
      maxMemorySize -
      memoryMeasure -
      Returns:
    • createObjectPool

      public static <E extends Poolable> ObjectPool<E> createObjectPool(int capacity, long evictDelay, EvictionPolicy evictionPolicy, boolean autoBalance, float balanceFactor)
      Creates a new Pool object.
      Type Parameters:
      E -
      Parameters:
      capacity -
      evictDelay -
      evictionPolicy -
      autoBalance -
      balanceFactor -
      Returns:
    • createObjectPool

      public static <E extends Poolable> ObjectPool<E> createObjectPool(int capacity, long evictDelay, EvictionPolicy evictionPolicy, boolean autoBalance, float balanceFactor, long maxMemorySize, ObjectPool.MemoryMeasure<E> memoryMeasure)
      Creates a new Pool object.
      Type Parameters:
      E -
      Parameters:
      capacity -
      evictDelay -
      evictionPolicy - default value is EvictionPolicy.LAST_ACCESS_TIME
      autoBalance - default value is true
      balanceFactor - default value is 0.2
      maxMemorySize -
      memoryMeasure -
      Returns:
    • createKeyedObjectPool

      public static <K, E extends Poolable> KeyedObjectPool<K,E> createKeyedObjectPool(int capacity)
      Creates a new Pool object.
      Type Parameters:
      K - the key type
      E -
      Parameters:
      capacity -
      Returns:
    • createKeyedObjectPool

      public static <K, E extends Poolable> KeyedObjectPool<K,E> createKeyedObjectPool(int capacity, long evictDelay)
      Creates a new Pool object.
      Type Parameters:
      K - the key type
      E -
      Parameters:
      capacity -
      evictDelay -
      Returns:
    • createKeyedObjectPool

      public static <K, E extends Poolable> KeyedObjectPool<K,E> createKeyedObjectPool(int capacity, long evictDelay, EvictionPolicy evictionPolicy)
      Creates a new Pool object.
      Type Parameters:
      K - the key type
      E -
      Parameters:
      capacity -
      evictDelay -
      evictionPolicy -
      Returns:
    • createKeyedObjectPool

      public static <K, E extends Poolable> KeyedObjectPool<K,E> createKeyedObjectPool(int capacity, long evictDelay, EvictionPolicy evictionPolicy, long maxMemorySize, KeyedObjectPool.MemoryMeasure<K,E> memoryMeasure)
      Creates a new Pool object.
      Type Parameters:
      K - the key type
      E -
      Parameters:
      capacity -
      evictDelay -
      evictionPolicy -
      maxMemorySize -
      memoryMeasure -
      Returns:
    • createKeyedObjectPool

      public static <K, E extends Poolable> KeyedObjectPool<K,E> createKeyedObjectPool(int capacity, long evictDelay, EvictionPolicy evictionPolicy, boolean autoBalance, float balanceFactor)
      Creates a new Pool object.
      Type Parameters:
      K - the key type
      E -
      Parameters:
      capacity -
      evictDelay -
      evictionPolicy -
      autoBalance -
      balanceFactor -
      Returns:
    • createKeyedObjectPool

      public static <K, E extends Poolable> KeyedObjectPool<K,E> createKeyedObjectPool(int capacity, long evictDelay, EvictionPolicy evictionPolicy, boolean autoBalance, float balanceFactor, long maxMemorySize, KeyedObjectPool.MemoryMeasure<K,E> memoryMeasure)
      Creates a new Pool object.
      Type Parameters:
      K - the key type
      E -
      Parameters:
      capacity -
      evictDelay -
      evictionPolicy - default value is EvictionPolicy.LAST_ACCESS_TIME
      autoBalance - default value is true
      balanceFactor - default value is 0.2
      maxMemorySize -
      memoryMeasure -
      Returns: