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:
Serialized Form
  • 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 a 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 a LRU cache with the default initial capacity(16)
      Parameters:
      maxSize - max size of the LRU cache
      See Also:
      ConcurrentSoftCache(int, int)
    • ConcurrentSoftCache

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