Package com.carrotsearch.hppc
Class RamUsageEstimator
- java.lang.Object
-
- com.carrotsearch.hppc.RamUsageEstimator
-
public class RamUsageEstimator extends java.lang.Object
Helper class that helps estimate memory usageMostly forked from Lucene tag releases/lucene-solr/8.5.1
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
COMPRESSED_REFS_ENABLED
True, iff compressed references (oops) are enabled by this JVMstatic int
NUM_BYTES_ARRAY_HEADER
Number of bytes to represent an array header (no content, but with alignments).static int
NUM_BYTES_OBJECT_ALIGNMENT
A constant specifying the object alignment boundary inside the JVM.static int
NUM_BYTES_OBJECT_HEADER
Number of bytes to represent an object header (no fields, no alignments).static int
NUM_BYTES_OBJECT_REF
Number of bytes this JVM uses to represent an object reference.static long
ONE_GB
One gigabyte bytes.static long
ONE_KB
One kilobyte bytes.static long
ONE_MB
One megabyte bytes.static java.util.Map<java.lang.Class<?>,java.lang.Integer>
primitiveSizes
Sizes of primitive classes.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static long
alignObjectSize(long size)
Aligns an object size to be the next multiple ofNUM_BYTES_OBJECT_ALIGNMENT
.static long
shallowSizeOfArray(java.lang.Object array)
Return shallow size of anyarray
.static long
shallowUsedSizeOfArray(java.lang.Object array, int usedSize)
Return used part of shallow size of anyarray
.
-
-
-
Field Detail
-
ONE_KB
public static final long ONE_KB
One kilobyte bytes.- See Also:
- Constant Field Values
-
ONE_MB
public static final long ONE_MB
One megabyte bytes.- See Also:
- Constant Field Values
-
ONE_GB
public static final long ONE_GB
One gigabyte bytes.- See Also:
- Constant Field Values
-
COMPRESSED_REFS_ENABLED
public static final boolean COMPRESSED_REFS_ENABLED
True, iff compressed references (oops) are enabled by this JVM
-
NUM_BYTES_OBJECT_REF
public static final int NUM_BYTES_OBJECT_REF
Number of bytes this JVM uses to represent an object reference.
-
NUM_BYTES_OBJECT_HEADER
public static final int NUM_BYTES_OBJECT_HEADER
Number of bytes to represent an object header (no fields, no alignments).
-
NUM_BYTES_ARRAY_HEADER
public static final int NUM_BYTES_ARRAY_HEADER
Number of bytes to represent an array header (no content, but with alignments).
-
NUM_BYTES_OBJECT_ALIGNMENT
public static final int NUM_BYTES_OBJECT_ALIGNMENT
A constant specifying the object alignment boundary inside the JVM. Objects will always take a full multiple of this constant, possibly wasting some space.
-
primitiveSizes
public static final java.util.Map<java.lang.Class<?>,java.lang.Integer> primitiveSizes
Sizes of primitive classes.
-
-
Method Detail
-
alignObjectSize
public static long alignObjectSize(long size)
Aligns an object size to be the next multiple ofNUM_BYTES_OBJECT_ALIGNMENT
.
-
shallowUsedSizeOfArray
public static long shallowUsedSizeOfArray(java.lang.Object array, int usedSize)
Return used part of shallow size of anyarray
.- Parameters:
usedSize
- Size that array is actually used
-
shallowSizeOfArray
public static long shallowSizeOfArray(java.lang.Object array)
Return shallow size of anyarray
.
-
-