Class ConcurrentSoftCache<K,V>

java.lang.Object
org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache<K,SoftReference<V>>
org.codehaus.groovy.runtime.memoize.ConcurrentSoftCache<K,V>
Type Parameters:
K - key type
V - real value type
All Implemented Interfaces:
Serializable, Map<K,SoftReference<V>>, EvictableCache<K,SoftReference<V>>, MemoizeCache<K,SoftReference<V>>, ValueConvertable<SoftReference<V>,Object>

public class ConcurrentSoftCache<K,V> extends ConcurrentCommonCache<K,SoftReference<V>>
Represents concurrent cache holding SoftReference instance as value
See Also:
  • Constructor Details

    • ConcurrentSoftCache

      public ConcurrentSoftCache()
      Constructs a cache with unlimited size
    • ConcurrentSoftCache

      public ConcurrentSoftCache(int initialCapacity, int maxSize, EvictableCache.EvictionStrategy evictionStrategy)
      Constructs a cache with limited size
      Parameters:
      initialCapacity - initial capacity of the cache
      maxSize - max size of the cache
      evictionStrategy - LRU or FIFO, see EvictableCache.EvictionStrategy
    • ConcurrentSoftCache

      public ConcurrentSoftCache(int initialCapacity, int maxSize)
      Constructs an LRU cache with the specified initial capacity and max size. The LRU cache is slower than LRUCache
      Parameters:
      initialCapacity - initial capacity of the LRU cache
      maxSize - max size of the LRU cache
    • ConcurrentSoftCache

      public ConcurrentSoftCache(int maxSize)
      Constructs an LRU cache with the default initial capacity(16)
      Parameters:
      maxSize - max size of the LRU cache
      See Also:
    • ConcurrentSoftCache

      public ConcurrentSoftCache(Map<K,SoftReference<V>> map)
      Constructs a cache backed by the specified Map instance
      Parameters:
      map - the Map instance
  • Method Details