Package org.apache.cassandra.utils
Class ObjectSizes
- java.lang.Object
-
- org.apache.cassandra.utils.ObjectSizes
-
public class ObjectSizes extends java.lang.ObjectA convenience class for wrapping access to MemoryMeter
-
-
Constructor Summary
Constructors Constructor Description ObjectSizes()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static longmeasure(java.lang.Object pojo)static longmeasureDeep(java.lang.Object pojo)static longmeasureDeepOmitShared(java.lang.Object pojo)static longsizeOf(java.lang.String str)Memory a String consumesstatic longsizeOfArray(byte[] bytes)Memory a byte array consumesstatic longsizeOfArray(int[] ints)Memory an int array consumesstatic longsizeOfArray(long[] longs)Memory a long array consumesstatic longsizeOfArray(java.lang.Object[] objects)Memory a reference array consumes itself onlystatic longsizeOfReferenceArray(int length)Memory a reference array consumesstatic longsizeOnHeapExcludingData(java.nio.ByteBuffer buffer)static longsizeOnHeapExcludingData(java.nio.ByteBuffer[] array)Amount of non-data heap memory consumed by the array of byte buffers.static longsizeOnHeapOf(java.nio.ByteBuffer buffer)static longsizeOnHeapOf(java.nio.ByteBuffer[] array)Amount of heap memory consumed by the array of byte buffers.
-
-
-
Method Detail
-
sizeOfArray
public static long sizeOfArray(byte[] bytes)
Memory a byte array consumes- Parameters:
bytes- byte array to get memory size- Returns:
- heap-size of the array
-
sizeOfArray
public static long sizeOfArray(long[] longs)
Memory a long array consumes- Parameters:
longs- byte array to get memory size- Returns:
- heap-size of the array
-
sizeOfArray
public static long sizeOfArray(int[] ints)
Memory an int array consumes- Parameters:
ints- byte array to get memory size- Returns:
- heap-size of the array
-
sizeOfReferenceArray
public static long sizeOfReferenceArray(int length)
Memory a reference array consumes- Parameters:
length- the length of the reference array- Returns:
- heap-size of the array
-
sizeOfArray
public static long sizeOfArray(java.lang.Object[] objects)
Memory a reference array consumes itself only- Parameters:
objects- the array to size- Returns:
- heap-size of the array (excluding memory retained by referenced objects)
-
sizeOnHeapOf
public static long sizeOnHeapOf(java.nio.ByteBuffer[] array)
Amount of heap memory consumed by the array of byte buffers. It sums memory consumed by the array itself and for each included byte buffer usingsizeOnHeapOf(ByteBuffer).
-
sizeOnHeapExcludingData
public static long sizeOnHeapExcludingData(java.nio.ByteBuffer[] array)
Amount of non-data heap memory consumed by the array of byte buffers. It sums memory consumed by the array itself and for each included byte buffer usingsizeOnHeapExcludingData(ByteBuffer).
-
sizeOnHeapOf
public static long sizeOnHeapOf(java.nio.ByteBuffer buffer)
- Returns:
- heap memory consumed by the byte buffer. If it is a slice, it counts the data size, but it does not include the internal array overhead.
-
sizeOnHeapExcludingData
public static long sizeOnHeapExcludingData(java.nio.ByteBuffer buffer)
- Returns:
- non-data heap memory consumed by the byte buffer. If it is a slice, it does not include the internal array overhead.
-
sizeOf
public static long sizeOf(java.lang.String str)
Memory a String consumes- Parameters:
str- String to calculate memory size of- Returns:
- Total in-memory size of the String
-
measureDeep
public static long measureDeep(java.lang.Object pojo)
- Parameters:
pojo- the object to measure- Returns:
- the size on the heap of the instance and all retained heap referenced by it, excluding portions of ByteBuffer that are not directly referenced by it but including any other referenced that may also be retained by other objects.
-
measureDeepOmitShared
public static long measureDeepOmitShared(java.lang.Object pojo)
-
measure
public static long measure(java.lang.Object pojo)
- Parameters:
pojo- the object to measure- Returns:
- the size on the heap of the instance only, excluding any referenced objects
-
-