Package org.apache.oro.util
Class CacheLRU
java.lang.Object
org.apache.oro.util.GenericCache
org.apache.oro.util.CacheLRU
- All Implemented Interfaces:
Serializable
,Cache
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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
private final int[]
private final int[]
private int
private static final long
Fields inherited from class org.apache.oro.util.GenericCache
_cache, _numEntries, _table, DEFAULT_CAPACITY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
__moveToFront
(int index) final void
addElement
(Object key, Object value) Adds a value to the cache.getElement
(Object key) Gets an element from the cache.Methods inherited from class org.apache.oro.util.GenericCache
capacity, isFull, keys, size
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
__head
private int __head -
__tail
private int __tail -
__next
private final int[] __next -
__prev
private final int[] __prev
-
-
Constructor Details
-
CacheLRU
public CacheLRU(int capacity) Creates a CacheLRU instance with a given cache capacity.- Parameters:
capacity
- The capacity of the cache.
-
CacheLRU
public CacheLRU()Same as:CacheLRU(GenericCache.DEFAULT_CAPACITY);
-
-
Method Details
-
__moveToFront
private void __moveToFront(int index) -
getElement
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
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.
-