@ThreadSafe public final class LRUCache<K, V> extends Object implements MemoizeCache
A cache backed by a ConcurrentLinkedHashMap
Constructor and description |
---|
LRUCache
(int maxCacheSize) |
Type Params | Return Type | Name and description |
---|---|---|
public void |
cleanUpNullReferences() Remove all entries holding SoftReferences to gc-evicted objects. | |
public V |
get(K key) | |
public V |
getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider) Try to get the value from cache. | |
public V |
put(K key, V value) |
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Remove all entries holding SoftReferences to gc-evicted objects.
Try to get the value from cache. If not found, create the value by MemoizeCache.ValueProvider and put it into the cache, at last return the value. The operation is completed atomically.
valueProvider
- provide the value if the associated value not found
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/runtime/memoize/LRUCache.html