|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.caucho.util.LruCache<K,V>
public final class LruCache<K,V>
Fixed length cache with a LRU replacement policy. If cache items implement CacheListener, they will be informed when they're removed from the cache.
Null keys are not allowed. LruCache is synchronized.
Nested Class Summary | |
---|---|
static interface |
LruCache.Entry<K,V>
Interface for entry iterator; |
Constructor Summary | |
---|---|
LruCache(int initialCapacity)
Create the LRU cache with a specific capacity. |
|
LruCache(int initialCapacity,
boolean isStatistics)
Create the LRU cache with a specific capacity. |
Method Summary | |
---|---|
void |
clear()
Clears the cache |
boolean |
compareAndPut(V testValue,
K key,
V value)
Puts a new item in the cache if the current value matches oldValue. |
V |
get(K key)
Get an item from the cache and make it most recently used. |
int |
getCapacity()
Returns the LRU cache capacity |
long |
getHitCount()
Returns the hit count. |
long |
getMissCount()
Returns the miss count. |
java.util.Iterator<LruCache.Entry<K,V>> |
iterator()
Returns the entries |
java.util.Iterator<K> |
keys()
Returns the keys stored in the cache |
java.util.Iterator<K> |
keys(java.util.Iterator<K> oldIter)
Returns keys stored in the cache using an old iterator |
V |
put(K key,
V value)
Puts a new item in the cache. |
V |
putIfNew(K key,
V value)
Puts a new item in the cache. |
V |
remove(K key)
Removes an item from the cache |
boolean |
removeLongestTail()
Remove the last item in the LRU. |
boolean |
removeTail()
Remove the last item in the LRU |
void |
setEnableListeners(boolean isEnable)
Disable the listeners |
void |
setEnableStatistics(boolean isEnable)
|
int |
size()
Returns the current number of entries in the cache. |
java.util.Iterator<V> |
values()
Returns the values in the cache |
java.util.Iterator<V> |
values(java.util.Iterator<V> oldIter)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LruCache(int initialCapacity)
initialCapacity
- minimum capacity of the cachepublic LruCache(int initialCapacity, boolean isStatistics)
initialCapacity
- minimum capacity of the cacheMethod Detail |
---|
public void setEnableListeners(boolean isEnable)
public void setEnableStatistics(boolean isEnable)
public int size()
public int getCapacity()
public void clear()
public V get(K key)
key
- key to lookup the item
public V put(K key, V value)
key
- key to store datavalue
- value to be stored
public V putIfNew(K key, V value)
key
- key to store datavalue
- value to be stored
public boolean compareAndPut(V testValue, K key, V value)
key
- the keyvalue
- the new valuetestValue
- the value to test against the current
public boolean removeTail()
public boolean removeLongestTail()
public V remove(K key)
key
- the key to remove
public java.util.Iterator<K> keys()
public java.util.Iterator<K> keys(java.util.Iterator<K> oldIter)
public java.util.Iterator<V> values()
public java.util.Iterator<V> values(java.util.Iterator<V> oldIter)
public java.util.Iterator<LruCache.Entry<K,V>> iterator()
public long getHitCount()
public long getMissCount()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |