K
- type of the keyV
- type of the valuepublic class ArcCache<K,V> extends AbstractCache<K,V>
Cache
that uses the ARC algorithm as an eviction policy.DEFAULT_CAPACITY
Constructor and Description |
---|
ArcCache()
Constructor for the ArcCache object.
|
ArcCache(int capacity)
Constructor for the ArcCache object.
|
ArcCache(Resolver<K,V> resolver)
Constructor for the ArcCache object.
|
ArcCache(Resolver<K,V> resolver,
int capacity)
Constructor for the ArcCache 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 ARC 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.
|
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 ARC algorithm.
|
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 ArcCache()
public ArcCache(int capacity)
capacity
- capacity of the cachepublic ArcCache(Resolver<K,V> resolver)
resolver
- resolver to associate with 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 String toString()
toString
in class AbstractCache<K,V>
Copyright © 2016 Egothor. All Rights Reserved.