java.lang.Object
org.apache.oro.util.GenericCache
org.apache.oro.util.CacheLRU
- All Implemented Interfaces:
- Cache, java.io.Serializable
- 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
- Version:
- @version@
|
Constructor Summary |
CacheLRU()
Same as:
|
CacheLRU(int capacity)
Creates a CacheLRU instance with a given cache capacity. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
__head
private int __head
__tail
private int __tail
__next
private int[] __next
__prev
private int[] __prev
CacheLRU
public CacheLRU(int capacity)
- Creates a CacheLRU instance with a given cache capacity.
CacheLRU
public CacheLRU()
- Same as:
CacheLRU(GenericCache.DEFAULT_CAPACITY);
__moveToFront
private void __moveToFront(int index)
getElement
public java.lang.Object getElement(java.lang.Object key)
- Specified by:
getElement in interface Cache- Overrides:
getElement in class GenericCache
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 interface Cache- Specified by:
addElement in class GenericCache