Class MeasurableLinkedHashMap<K,V extends Measurable>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
com.linkedin.venice.utils.collections.MeasurableLinkedHashMap<K,V>
- All Implemented Interfaces:
Measurable
,Serializable
,Cloneable
,Map<K,
V>
public class MeasurableLinkedHashMap<K,V extends Measurable>
extends LinkedHashMap<K,V>
implements Measurable
A subclass of
LinkedHashMap
which does a best-effort attempt at guessing its size on heap + the size of its
values. Several assumptions are made which could make this imprecise in some contexts. See the usage in
PubSubMessageHeaders
for the usage it was originally intended for...- See Also:
-
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
-
Method Summary
Methods inherited from class java.util.LinkedHashMap
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values
Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
-
Constructor Details
-
MeasurableLinkedHashMap
public MeasurableLinkedHashMap()
-
-
Method Details
-
getHeapSize
public int getHeapSize()- Specified by:
getHeapSize
in interfaceMeasurable
-