Class ManagedConcurrentWeakHashMap<K,V>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- org.apache.tomcat.util.collections.ManagedConcurrentWeakHashMap<K,V>
-
- Type Parameters:
K
- The type of keys used with the Map instanceV
- The type of values used with the Map instance
- All Implemented Interfaces:
ConcurrentMap<K,V>
,Map<K,V>
public class ManagedConcurrentWeakHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>
Concurrent hash map that holds its keys via weak references. UnlikeWeakHashMap
this class does not handle dead keys during common access operations, but expects you to call itsmaintain()
method periodically. Both keys and values are expected to be not-null
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,V extends Object>
-
-
Constructor Summary
Constructors Constructor Description ManagedConcurrentWeakHashMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
boolean
containsKey(Object key)
boolean
containsValue(Object value)
Set<Map.Entry<K,V>>
entrySet()
V
get(Object key)
boolean
isEmpty()
void
maintain()
Method, that has to be invoked periodically to clean dead keys from the map.V
put(K key, V value)
V
putIfAbsent(K key, V value)
V
remove(Object key)
boolean
remove(Object key, Object value)
V
replace(K key, V value)
boolean
replace(K key, V oldValue, V newValue)
int
size()
Collection<V>
values()
-
Methods inherited from class java.util.AbstractMap
clone, equals, hashCode, keySet, putAll, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.concurrent.ConcurrentMap
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, replaceAll
-
-
-
-
Method Detail
-
maintain
public void maintain()
Method, that has to be invoked periodically to clean dead keys from the map.
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceMap<K,V>
- Overrides:
containsValue
in classAbstractMap<K,V>
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<K,V>
- Overrides:
containsKey
in classAbstractMap<K,V>
-
clear
public void clear()
-
putIfAbsent
public V putIfAbsent(K key, V value)
- Specified by:
putIfAbsent
in interfaceConcurrentMap<K,V>
- Specified by:
putIfAbsent
in interfaceMap<K,V>
-
values
public Collection<V> values()
-
-