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 intprivate final int[]private final int[]private intprivate static final longFields inherited from class GenericCache
_cache, _numEntries, _table, DEFAULT_CAPACITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void__moveToFront(int index) final voidaddElement(Object key, Object value) Adds a value to the cache.getElement(Object key) Gets an element from the cache.Methods inherited from class 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:CacheGets an element from the cache.- Specified by:
getElementin interfaceCache- Overrides:
getElementin 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:
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.
-