public class SoftValueMap extends ReferenceValueMap
java.util.Map
implementation with soft values.
The values are stored as soft references. If map entry value object
is not actively being used, i.e. no other object has a strong reference
to it, it may become garbage collected at the discretion of the garbage
collector (typically if the VM is low on memory). If this happens, the
entry in the SoftValueMap
corresponding to the value object
will also be removed.
SoftReference
ReferenceValueMap.ValueReference
Constructor and Description |
---|
SoftValueMap()
Default Constructor
|
SoftValueMap(int initialCapacity)
Constructor taking the initial capacity.
|
SoftValueMap(int initialCapacity,
float loadFactor)
Constructor taking the initial capacity and load factor.
|
SoftValueMap(Map m)
Constructor taking a Map for definition.
|
Modifier and Type | Method and Description |
---|---|
protected ReferenceValueMap.ValueReference |
newValueReference(Object key,
Object value,
ReferenceQueue queue)
Returns a new
Reference object to be inserted into the map. |
clear, clone, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, reap, remove, size, values
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
public SoftValueMap()
public SoftValueMap(int initialCapacity)
initialCapacity
- The Initial capacity of the collectionpublic SoftValueMap(int initialCapacity, float loadFactor)
initialCapacity
- The Initial capacity of the collectionloadFactor
- The Load Factor of the collectionpublic SoftValueMap(Map m)
m
- The Mapprotected ReferenceValueMap.ValueReference newValueReference(Object key, Object value, ReferenceQueue queue)
ReferenceValueMap
Reference
object to be inserted into the map.
Subclasses must implement this method to construct Reference
objects of the desired type (e.g. SoftReference
, etc.).newValueReference
in class ReferenceValueMap
key
- The key that will be inserted.value
- The associated value to be referenced.queue
- The ReferenceQueue
with which to register the
new Reference
object.Copyright © 2017. All rights reserved.