Package org.ehcache.sizeof.impl
Enum JvmInformation
- All Implemented Interfaces:
Serializable
,Comparable<JvmInformation>
,java.lang.constant.Constable
Detects and represents JVM-specific properties that relate to the memory
data model for java objects that are useful for size of calculations.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionRepresents HotSpot 32-bitRepresents 32-Bit HotSpot JVM with Concurrent Mark-and-Sweep GCRepresents 64-Bit HotSpot JVMRepresents 64-Bit HotSpot JVM with Compressed OOPsRepresents 64-Bit HotSpot JVM with Compressed OOPs and Concurrent Mark-and-Sweep GCRepresents 64-Bit HotSpot JVM with Concurrent Mark-and-Sweep GCRepresents IBM 32-bitRepresents 64-Bit IBM JVM (with no reference compression)Represents 64-Bit IBM JVM (with reference compression)Represents OpenJDK 32-bitRepresents 32-Bit OpenJDK JVM with Concurrent Mark-and-Sweep GCRepresents 64-Bit OpenJDK JVMRepresents 64-Bit OpenJDK JVM with Compressed OOPsRepresents 64-Bit OpenJDK JVM with Compressed OOPs and Concurrent Mark-and-Sweep GCRepresents 64-Bit OpenJDK JVM with Concurrent Mark-and-Sweep GCRepresents Generic 32-bitRepresents 64-Bit Generic JVM -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final JvmInformation
The JvmInformation instance representing the current JVMprivate static final long
private static final org.slf4j.Logger
private JvmInformation
private static final long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static JvmInformation
private static JvmInformation
private static JvmInformation
int
The size of the jvm-specific agent result adjustment in bytes.int
The size of the jvm-specific field offset adjustment in bytes.private static String
int
Size of a java pointer in bytes on this runtime (that differs when compressedOops are being used)private static String
abstract String
A human-readable description of the JVM and its relevant enabled options.Osprivate static JvmInformation
Determine the JvmInformation for the current JVM.int
Minimal size an object will occupy on the heap in bytes.int
Object alignment / padding in bytesint
The size of an object header in bytes.private static String
getPlatformMBeanAttribute
(String beanName, String attrName) int
Size of a pointer in bytes on this runtimeprivate static boolean
is64Bit()
static boolean
Returns true if VM vendor is Hotspotprivate static boolean
private static boolean
static boolean
isIBM()
Returns true if VM vendor is IBMprivate static boolean
static boolean
Returns true if VM is JRockitprivate static boolean
static boolean
Returns true if VM vendor is OpenJDKstatic boolean
isOSX()
Return true if the VM's vendor is Appleboolean
Whether the jvm can support AgentSizeOf implementation.boolean
Whether the jvm can support ReflectionSizeOf implementation.boolean
Whether the jvm can support UnsafeSizeOf implementation.static JvmInformation
Returns the enum constant of this type with the specified name.static JvmInformation[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
UNKNOWN_32_BIT
Represents Generic 32-bit -
UNKNOWN_64_BIT
Represents 64-Bit Generic JVM -
HOTSPOT_32_BIT
Represents HotSpot 32-bit -
HOTSPOT_32_BIT_WITH_CONCURRENT_MARK_AND_SWEEP
Represents 32-Bit HotSpot JVM with Concurrent Mark-and-Sweep GC -
HOTSPOT_64_BIT
Represents 64-Bit HotSpot JVM -
HOTSPOT_64_BIT_WITH_CONCURRENT_MARK_AND_SWEEP
Represents 64-Bit HotSpot JVM with Concurrent Mark-and-Sweep GC -
HOTSPOT_64_BIT_WITH_COMPRESSED_OOPS
Represents 64-Bit HotSpot JVM with Compressed OOPs -
HOTSPOT_64_BIT_WITH_COMPRESSED_OOPS_AND_CONCURRENT_MARK_AND_SWEEP
public static final JvmInformation HOTSPOT_64_BIT_WITH_COMPRESSED_OOPS_AND_CONCURRENT_MARK_AND_SWEEPRepresents 64-Bit HotSpot JVM with Compressed OOPs and Concurrent Mark-and-Sweep GC -
OPENJDK_32_BIT
Represents OpenJDK 32-bit -
OPENJDK_32_BIT_WITH_CONCURRENT_MARK_AND_SWEEP
Represents 32-Bit OpenJDK JVM with Concurrent Mark-and-Sweep GC -
OPENJDK_64_BIT
Represents 64-Bit OpenJDK JVM -
OPENJDK_64_BIT_WITH_CONCURRENT_MARK_AND_SWEEP
Represents 64-Bit OpenJDK JVM with Concurrent Mark-and-Sweep GC -
OPENJDK_64_BIT_WITH_COMPRESSED_OOPS
Represents 64-Bit OpenJDK JVM with Compressed OOPs -
OPENJDK_64_BIT_WITH_COMPRESSED_OOPS_AND_CONCURRENT_MARK_AND_SWEEP
public static final JvmInformation OPENJDK_64_BIT_WITH_COMPRESSED_OOPS_AND_CONCURRENT_MARK_AND_SWEEPRepresents 64-Bit OpenJDK JVM with Compressed OOPs and Concurrent Mark-and-Sweep GC -
IBM_32_BIT
Represents IBM 32-bit -
IBM_64_BIT
Represents 64-Bit IBM JVM (with no reference compression) -
IBM_64_BIT_WITH_COMPRESSED_REFS
Represents 64-Bit IBM JVM (with reference compression)
-
-
Field Details
-
CURRENT_JVM_INFORMATION
The JvmInformation instance representing the current JVM -
LOGGER
private static final org.slf4j.Logger LOGGER -
TWENTY_FIVE_GB
private static final long TWENTY_FIVE_GB- See Also:
-
FIFTY_SEVEN_GB
private static final long FIFTY_SEVEN_GB- See Also:
-
parent
-
-
Constructor Details
-
JvmInformation
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
getPointerSize
public int getPointerSize()Size of a pointer in bytes on this runtime -
getJavaPointerSize
public int getJavaPointerSize()Size of a java pointer in bytes on this runtime (that differs when compressedOops are being used) -
getMinimumObjectSize
public int getMinimumObjectSize()Minimal size an object will occupy on the heap in bytes. -
getObjectAlignment
public int getObjectAlignment()Object alignment / padding in bytes -
getObjectHeaderSize
public int getObjectHeaderSize()The size of an object header in bytes. -
getFieldOffsetAdjustment
public int getFieldOffsetAdjustment()The size of the jvm-specific field offset adjustment in bytes. -
getAgentSizeOfAdjustment
public int getAgentSizeOfAdjustment()The size of the jvm-specific agent result adjustment in bytes. -
supportsAgentSizeOf
public boolean supportsAgentSizeOf()Whether the jvm can support AgentSizeOf implementation. -
supportsUnsafeSizeOf
public boolean supportsUnsafeSizeOf()Whether the jvm can support UnsafeSizeOf implementation. -
supportsReflectionSizeOf
public boolean supportsReflectionSizeOf()Whether the jvm can support ReflectionSizeOf implementation. -
getJvmDescription
A human-readable description of the JVM and its relevant enabled options.Os -
getJvmInformation
Determine the JvmInformation for the current JVM. -
detectHotSpot
-
detectOpenJDK
-
detectIBM
-
isJRockit64GBCompression
private static boolean isJRockit64GBCompression() -
isJRockit
public static boolean isJRockit()Returns true if VM is JRockit- Returns:
- true, if JRockit
-
isOSX
public static boolean isOSX()Return true if the VM's vendor is Apple- Returns:
- true, if OS X
-
isHotspot
public static boolean isHotspot()Returns true if VM vendor is Hotspot- Returns:
- true, if Hotspot
-
isOpenJDK
public static boolean isOpenJDK()Returns true if VM vendor is OpenJDK- Returns:
- true, if OpenJDK
-
isIBM
public static boolean isIBM()Returns true if VM vendor is IBM- Returns:
- true, if IBM
-
isIBMCompressedRefs
private static boolean isIBMCompressedRefs() -
isHotspotCompressedOops
private static boolean isHotspotCompressedOops() -
getHotSpotVmOptionValue
-
getPlatformMBeanAttribute
-
getJRockitVmArgs
-
isHotspotConcurrentMarkSweepGC
private static boolean isHotspotConcurrentMarkSweepGC() -
is64Bit
private static boolean is64Bit()
-