W3cubDocs

/Groovy 3.0

[Java] Class LRUCache<K, V>

  • org.codehaus.groovy.runtime.memoize.LRUCache
All Implemented Interfaces and Traits:
MemoizeCache
@ThreadSafe
public final class LRUCache<K, V>
extends Object
implements MemoizeCache

A cache backed by a ConcurrentLinkedHashMap

Constructor Summary

Constructors
Constructor and description
LRUCache (int maxCacheSize)

Methods Summary

Methods
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)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class Object wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Constructor Detail

public LRUCache(int maxCacheSize)

Method Detail

public void cleanUpNullReferences()

Remove all entries holding SoftReferences to gc-evicted objects.

@Override public V get(K key)

@Override public V getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider)

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.

Parameters:
key
valueProvider - provide the value if the associated value not found

@Override public V put(K key, V value)

© 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