Protects stored resources from eviction from memory following the LRU (Last Recently Used) strategy. If the maximum size has been reached all newly added elements will cause the oldest element to be removed from the storage in order not to exceed the maximum capacity. The touch method can be used to renew an element and move it to the from the LRU queue.
Modifiers | Name | Description |
---|---|---|
private int |
maxSize |
|
private static long |
serialVersionUID |
Constructor and description |
---|
LRUProtectionStorage
(int maxSize) |
Type | Name and description |
---|---|
java.lang.Object |
clone() Performs a shallow clone |
protected boolean |
removeEldestEntry(Map.Entry<java.lang.Object, java.lang.Object> eldest) |
void |
touch(java.lang.Object key, java.lang.Object value) The touch method can be used to renew an element and move it to the from of the LRU queue. |
Methods inherited from class | Name |
---|---|
class java.util.LinkedHashMap |
java.util.LinkedHashMap#get(java.lang.Object), java.util.LinkedHashMap#values(), java.util.LinkedHashMap#clear(), java.util.LinkedHashMap#replaceAll(java.util.function.BiFunction), java.util.LinkedHashMap#entrySet(), java.util.LinkedHashMap#keySet(), java.util.LinkedHashMap#containsValue(java.lang.Object), java.util.LinkedHashMap#forEach(java.util.function.BiConsumer), java.util.LinkedHashMap#getOrDefault(java.lang.Object, java.lang.Object), java.util.LinkedHashMap#remove(java.lang.Object), java.util.LinkedHashMap#remove(java.lang.Object, java.lang.Object), java.util.LinkedHashMap#put(java.lang.Object, java.lang.Object), java.util.LinkedHashMap#clone(), java.util.LinkedHashMap#isEmpty(), java.util.LinkedHashMap#replace(java.lang.Object, java.lang.Object, java.lang.Object), java.util.LinkedHashMap#replace(java.lang.Object, java.lang.Object), java.util.LinkedHashMap#size(), java.util.LinkedHashMap#putAll(java.util.Map), java.util.LinkedHashMap#putIfAbsent(java.lang.Object, java.lang.Object), java.util.LinkedHashMap#compute(java.lang.Object, java.util.function.BiFunction), java.util.LinkedHashMap#computeIfAbsent(java.lang.Object, java.util.function.Function), java.util.LinkedHashMap#computeIfPresent(java.lang.Object, java.util.function.BiFunction), java.util.LinkedHashMap#containsKey(java.lang.Object), java.util.LinkedHashMap#merge(java.lang.Object, java.lang.Object, java.util.function.BiFunction), java.util.LinkedHashMap#equals(java.lang.Object), java.util.LinkedHashMap#toString(), java.util.LinkedHashMap#hashCode(), java.util.LinkedHashMap#wait(), java.util.LinkedHashMap#wait(long, int), java.util.LinkedHashMap#wait(long), java.util.LinkedHashMap#getClass(), java.util.LinkedHashMap#notify(), java.util.LinkedHashMap#notifyAll() |
class java.util.HashMap |
java.util.HashMap#remove(java.lang.Object), java.util.HashMap#remove(java.lang.Object, java.lang.Object), java.util.HashMap#get(java.lang.Object), java.util.HashMap#put(java.lang.Object, java.lang.Object), java.util.HashMap#values(), java.util.HashMap#clone(), java.util.HashMap#clear(), java.util.HashMap#isEmpty(), java.util.HashMap#replace(java.lang.Object, java.lang.Object, java.lang.Object), java.util.HashMap#replace(java.lang.Object, java.lang.Object), java.util.HashMap#replaceAll(java.util.function.BiFunction), java.util.HashMap#size(), java.util.HashMap#entrySet(), java.util.HashMap#putAll(java.util.Map), java.util.HashMap#putIfAbsent(java.lang.Object, java.lang.Object), java.util.HashMap#keySet(), java.util.HashMap#compute(java.lang.Object, java.util.function.BiFunction), java.util.HashMap#computeIfAbsent(java.lang.Object, java.util.function.Function), java.util.HashMap#computeIfPresent(java.lang.Object, java.util.function.BiFunction), java.util.HashMap#containsKey(java.lang.Object), java.util.HashMap#containsValue(java.lang.Object), java.util.HashMap#forEach(java.util.function.BiConsumer), java.util.HashMap#getOrDefault(java.lang.Object, java.lang.Object), java.util.HashMap#merge(java.lang.Object, java.lang.Object, java.util.function.BiFunction), java.util.HashMap#equals(java.lang.Object), java.util.HashMap#toString(), java.util.HashMap#hashCode(), java.util.HashMap#wait(), java.util.HashMap#wait(long, int), java.util.HashMap#wait(long), java.util.HashMap#getClass(), java.util.HashMap#notify(), java.util.HashMap#notifyAll() |
Performs a shallow clone
The touch method can be used to renew an element and move it to the from of the LRU queue.
key
- The key of the element to renewvalue
- A value to newly associate with the keyCopyright © 2008–2014 Václav Pech. All Rights Reserved.