K
- type of the keyV
- type of the valuepublic class TwoQueueCache<K,V> extends AbstractCache<K,V>
Cache
that uses the 2Q algorithm as an eviction policy.DEFAULT_CAPACITY
Constructor and Description |
---|
TwoQueueCache()
Constructor for the TwoQueueCache object.
|
TwoQueueCache(int capacity)
Constructor for the TwoQueueCache object.
|
TwoQueueCache(int capacity,
int kIn,
int kOut)
Constructor for the TwoQueueCache object.
|
TwoQueueCache(Resolver<K,V> resolver)
Constructor for the TwoQueueCache object.
|
TwoQueueCache(Resolver<K,V> resolver,
int capacity)
Constructor for the TwoQueueCache object.
|
TwoQueueCache(Resolver<K,V> resolver,
int capacity,
int kIn,
int kOut)
Constructor for the TwoQueueCache object.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all key-value mappings from the cache and cleans all queues.
|
boolean |
containsKey(K key)
Checks whether the specified key is cached.
|
void |
evict()
Removes the next key from the cache according to the 2Q algorithm.
|
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 |
inCapacity()
Returns the capacity of the history AIn FIFO queue.
|
Set<K> |
keySet()
Gets all keys contained in the cache.
|
K |
nextEvicted()
Gets the next key that would be removed from the cache according to the 2Q algorithm.
|
int |
outCapacity()
Returns the capacity of the history AOut LRU queue.
|
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.
|
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.
|
capacity, getResolver, hitRatio, hits, misses, requests, resetCounters, setResolver
public TwoQueueCache()
public TwoQueueCache(int capacity)
capacity
- capacity of the cachepublic TwoQueueCache(int capacity, int kIn, int kOut)
capacity
- capacity of the cachekIn
- capacity of AIn queuekOut
- capacity of AOut queuepublic TwoQueueCache(Resolver<K,V> resolver)
resolver
- resolver to associate with the cachepublic TwoQueueCache(Resolver<K,V> resolver, int capacity)
resolver
- resolver to associate with the cachecapacity
- capacity of the cachepublic V put(K key, V value)
public V get(K key)
public V update(K key, V value)
public boolean containsKey(K key)
containsKey
in interface Cache<K,V>
containsKey
in class AbstractCache<K,V>
key
- key to checkpublic void clear()
public Set<K> keySet()
Set
of keys contained in the cache.public int size()
public K nextEvicted()
nextEvicted
in interface Cache<K,V>
nextEvicted
in class AbstractCache<K,V>
public void evict()
public int inCapacity()
public int outCapacity()
public String toString()
toString
in class AbstractCache<K,V>
Copyright © 2016 Egothor. All Rights Reserved.