@ThreadSafe public class StampedCommonCache<K, V> extends Object implements FlexibleEvictableCache, ValueConvertable, Serializable
Represents a simple key-value cache, which is thread safe and backed by a Map instance. StampedCommonCache has better performance than ConcurrentCommonCache, but it is not reentrant, in other words, it may cause deadlock if getAndPut(Object, MemoizeCache.ValueProvider) or getAndPut(Object, MemoizeCache.ValueProvider, boolean) is called recursively: readlock -> upgrade to writelock -> readlock (fails to get and waits forever)
K - type of the keysV - type of the values| Constructor and description |
|---|
StampedCommonCache()Constructs a cache with unlimited size |
StampedCommonCache(int initialCapacity, int maxSize, EvictionStrategy evictionStrategy)Constructs a cache with limited size |
StampedCommonCache(int initialCapacity, int maxSize)Constructs an LRU cache with the specified initial capacity and max size. |
StampedCommonCache(int maxSize)Constructs an LRU cache with the default initial capacity(16) |
StampedCommonCache(Map<K, V> map)Constructs a cache backed by the specified Map instance |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public void |
cleanUpNullReferences(){@inheritDoc} |
|
public Map<K, V> |
clearAll(){@inheritDoc} |
|
public boolean |
containsKey(Object key){@inheritDoc} |
|
public boolean |
containsValue(Object value) |
|
public Object |
convertValue(V value){@inheritDoc} |
|
public Set<Entry<K, V>> |
entrySet() |
|
public V |
get(Object key){@inheritDoc} |
|
public V |
getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider){@inheritDoc} |
|
public V |
getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider, boolean shouldCache) |
|
public boolean |
isEmpty() |
|
public Set<K> |
keySet() |
|
public Set<K> |
keys(){@inheritDoc} |
|
public V |
put(K key, V value){@inheritDoc} |
|
public void |
putAll(Map<? extends K, ? extends V> m) |
|
public V |
remove(Object key){@inheritDoc} |
|
public int |
size(){@inheritDoc} |
|
public Collection<V> |
values(){@inheritDoc} |
Constructs a cache with unlimited size
Constructs a cache with limited size
initialCapacity - initial capacity of the cachemaxSize - max size of the cacheevictionStrategy - LRU or FIFO, see EvictableCache.EvictionStrategyConstructs an LRU cache with the specified initial capacity and max size. The LRU cache is slower than LRUCache
initialCapacity - initial capacity of the LRU cachemaxSize - max size of the LRU cacheConstructs an LRU cache with the default initial capacity(16)
maxSize - max size of the LRU cache{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
Copyright © 2003-2025 The Apache Software Foundation. All rights reserved.