|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.egothor.cache.AbstractCache<K,V>
org.egothor.cache.lruk.LruKCache<K,V>
K - type of the keyV - type of the valuepublic class LruKCache<K,V>
Implementation of Cache that uses the LRU-K algorithm as an eviction policy.
| Field Summary | |
|---|---|
protected static int |
DEFAULT_NUMBER_OF_IDS
Default number of ID's the LRU-K algorithm should use. |
| Fields inherited from class org.egothor.cache.AbstractCache |
|---|
capacity, DEFAULT_CAPACITY, hits, misses, resolver |
| Constructor Summary | |
|---|---|
LruKCache()
Constructor for the LruKCache object. |
|
LruKCache(int capacity,
int historyCapacity,
int numberOfIds)
Constructor for the LruKCache object. |
|
LruKCache(Resolver<K,V> resolver)
Constructor for the LruKCache object. |
|
LruKCache(Resolver<K,V> resolver,
int capacity)
Constructor for the LruKCache object. |
|
LruKCache(Resolver<K,V> resolver,
int capacity,
int historyCapacity,
int numberOfIds)
Constructor for the LruKCache object. |
|
| Method Summary | |
|---|---|
void |
clear()
Removes all key->value mappings from the cache and cleans the history queue. |
boolean |
containsKey(K key)
Checks whether the specified key is cached. |
void |
evict()
Removes the key with the highest backward-K-distance. |
V |
get(K key)
Gets the value associated with the specified key from the cache if a mapping exists, or the value returned by the resolver. |
int |
historyCapacity()
Returns the maximum capacity of the history queue. |
java.util.Set<K> |
keySet()
Gets all keys contained in the cache. |
K |
nextEvicted()
Gets the key with the highest backward-K-distance. |
int |
numberOfIds()
Returns the number of id's the LRU-K algorithm uses. |
V |
put(K key,
V value)
Adds a new key->value mapping to the cache. |
V |
remove(K key)
Removes the specified key and its value from the cache. |
int |
size()
Returns the number of key->value mappings in the cache. |
java.lang.String |
toString()
Returns a text representation of the cache. |
V |
update(K key,
V value)
Updates the value associated with the specified key in the cache if a mapping exists for the key. |
| Methods inherited from class org.egothor.cache.AbstractCache |
|---|
capacity, getResolver, hitRatio, hits, misses, requests, resetCounters, setResolver |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static final int DEFAULT_NUMBER_OF_IDS
| Constructor Detail |
|---|
public LruKCache()
public LruKCache(Resolver<K,V> resolver)
resolver - resolver to associate with the cache
public LruKCache(int capacity,
int historyCapacity,
int numberOfIds)
capacity - capacity of the cachehistoryCapacity - capacity of the history queuenumberOfIds - number of id's the LRU-K algorithm should use
public LruKCache(Resolver<K,V> resolver,
int capacity)
resolver - resolver to associate with the cachecapacity - capacity of the cache
public LruKCache(Resolver<K,V> resolver,
int capacity,
int historyCapacity,
int numberOfIds)
throws java.lang.IllegalArgumentException
resolver - resolver to associate with the cachecapacity - capacity of the cachehistoryCapacity - capacity of the history queuenumberOfIds - number of id's the LRU-K algorithm should use
java.lang.IllegalArgumentException - when history capacity is smaller or equal to zero| Method Detail |
|---|
public V put(K key,
V value)
put in interface Cache<K,V>put in class AbstractCache<K,V>key - key to add to the cachevalue - value to map the key on
public V get(K key)
get in interface Cache<K,V>get in class AbstractCache<K,V>key - key to get the value for
public V remove(K key)
remove in interface Cache<K,V>remove in class AbstractCache<K,V>key - key to remove from the cache.
public V update(K key,
V value)
update in interface Cache<K,V>update in class AbstractCache<K,V>key - key to change the value forvalue - new value associated with the key
public boolean containsKey(K key)
containsKey in interface Cache<K,V>containsKey in class AbstractCache<K,V>key - key to check
public void clear()
public java.util.Set<K> keySet()
Set of keys contained in the cache.public int size()
size in interface Cache<K,V>size in class AbstractCache<K,V>public K nextEvicted()
nextEvicted in interface Cache<K,V>nextEvicted in class AbstractCache<K,V>public void evict()
evict in interface Cache<K,V>evict in class AbstractCache<K,V>public int numberOfIds()
public int historyCapacity()
public java.lang.String toString()
toString in class AbstractCache<K,V>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||