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
__head
private int[]
__next
private int[]
__prev
private int
__tail
private static long
serialVersionUID
-
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)
void
addElement(java.lang.Object key, java.lang.Object value)
Adds a value to the cache.java.lang.Object
getElement(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:Cache
Gets an element from the cache.- Specified by:
getElement
in interfaceCache
- Overrides:
getElement
in 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:
addElement
in interfaceCache
- Specified by:
addElement
in classGenericCache
- Parameters:
key
- The key referencing the value added to the cache.value
- The value to add to the cache.
-
-