Package org.apache.oro.util
Class CacheLRU
- java.lang.Object
-
- org.apache.oro.util.GenericCache
-
- org.apache.oro.util.CacheLRU
-
- All Implemented Interfaces:
java.io.Serializable,Cache
public final class CacheLRU extends GenericCache
This class is a GenericCache subclass implementing an LRU (Least Recently Used) cache replacement policy. In other words, values are added to the cache until it becomes full. Once the cache is full, when a new value is added to the cache, it replaces the least recently used value currently in the cache. This is probably the best general purpose cache replacement policy.- Since:
- 1.0
- See Also:
GenericCache, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private int__headprivate int[]__nextprivate int[]__prevprivate int__tailprivate static longserialVersionUID-
Fields inherited from class org.apache.oro.util.GenericCache
_cache, _numEntries, _table, DEFAULT_CAPACITY
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void__moveToFront(int index)voidaddElement(java.lang.Object key, java.lang.Object value)Adds a value to the cache.java.lang.ObjectgetElement(java.lang.Object key)Gets an element from the cache.-
Methods inherited from class org.apache.oro.util.GenericCache
capacity, isFull, keys, size
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
__head
private int __head
-
__tail
private int __tail
-
__next
private final int[] __next
-
__prev
private final int[] __prev
-
-
Method Detail
-
__moveToFront
private void __moveToFront(int index)
-
getElement
public java.lang.Object getElement(java.lang.Object key)
Description copied from interface:CacheGets an element from the cache.- Specified by:
getElementin interfaceCache- Overrides:
getElementin classGenericCache- Parameters:
key- Key- Returns:
- Element value
-
addElement
public final void addElement(java.lang.Object key, java.lang.Object value)Adds a value to the cache. If the cache is full, when a new value is added to the cache, it replaces the least recently used value in the cache (i.e., LRU).- Specified by:
addElementin interfaceCache- Specified by:
addElementin classGenericCache- Parameters:
key- The key referencing the value added to the cache.value- The value to add to the cache.
-
-