Package com.carrotsearch.hppc
Class RamUsageEstimator
java.lang.Object
com.carrotsearch.hppc.RamUsageEstimator
Helper class that helps estimate memory usage
Mostly forked from Lucene tag releases/lucene-solr/8.5.1
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final booleanTrue, iff compressed references (oops) are enabled by this JVMstatic final intNumber of bytes to represent an array header (no content, but with alignments).static final intA constant specifying the object alignment boundary inside the JVM.static final intNumber of bytes to represent an object header (no fields, no alignments).static final intNumber of bytes this JVM uses to represent an object reference.static final longOne gigabyte bytes.static final longOne kilobyte bytes.static final longOne megabyte bytes.Sizes of primitive classes. -
Method Summary
Modifier and TypeMethodDescriptionstatic longalignObjectSize(long size) Aligns an object size to be the next multiple ofNUM_BYTES_OBJECT_ALIGNMENT.static longshallowSizeOfArray(Object array) Return shallow size of anyarray.static longshallowUsedSizeOfArray(Object array, int usedSize) Return used part of shallow size of anyarray.
-
Field Details
-
ONE_KB
public static final long ONE_KBOne kilobyte bytes.- See Also:
-
ONE_MB
public static final long ONE_MBOne megabyte bytes.- See Also:
-
ONE_GB
public static final long ONE_GBOne gigabyte bytes.- See Also:
-
COMPRESSED_REFS_ENABLED
public static final boolean COMPRESSED_REFS_ENABLEDTrue, iff compressed references (oops) are enabled by this JVM -
NUM_BYTES_OBJECT_REF
public static final int NUM_BYTES_OBJECT_REFNumber of bytes this JVM uses to represent an object reference. -
NUM_BYTES_OBJECT_HEADER
public static final int NUM_BYTES_OBJECT_HEADERNumber of bytes to represent an object header (no fields, no alignments). -
NUM_BYTES_ARRAY_HEADER
public static final int NUM_BYTES_ARRAY_HEADERNumber of bytes to represent an array header (no content, but with alignments). -
NUM_BYTES_OBJECT_ALIGNMENT
public static final int NUM_BYTES_OBJECT_ALIGNMENTA constant specifying the object alignment boundary inside the JVM. Objects will always take a full multiple of this constant, possibly wasting some space. -
primitiveSizes
Sizes of primitive classes.
-
-
Method Details
-
alignObjectSize
public static long alignObjectSize(long size) Aligns an object size to be the next multiple ofNUM_BYTES_OBJECT_ALIGNMENT. -
shallowUsedSizeOfArray
Return used part of shallow size of anyarray.- Parameters:
usedSize- Size that array is actually used
-
shallowSizeOfArray
Return shallow size of anyarray.
-