ehcache

net.sf.ehcache.pool.sizeof
Enum JvmInformation

java.lang.Object
  extended by java.lang.Enum<JvmInformation>
      extended by net.sf.ehcache.pool.sizeof.JvmInformation
All Implemented Interfaces:
Serializable, Comparable<JvmInformation>

public enum JvmInformation
extends Enum<JvmInformation>

Detects and represents JVM-specific properties that relate to the memory data model for java objects that are useful for size of calculations.

Author:
jhouse, Chris Dennis

Enum Constant Summary
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_COMPRESSED_OOPS
          Represents 64-Bit HotSpot JVM with Compressed OOPs
HOTSPOT_64_BIT_WITH_COMPRESSED_OOPS_AND_CONCURRENT_MARK_AND_SWEEP
          Represents 64-Bit HotSpot JVM with Compressed OOPs and Concurrent Mark-and-Sweep GC
HOTSPOT_64_BIT_WITH_CONCURRENT_MARK_AND_SWEEP
          Represents 64-Bit HotSpot JVM with 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)
JROCKIT_32_BIT
          Represents 32-Bit JRockit JVM"
JROCKIT_64_BIT
          Represents 64-Bit JRockit JVM (with no reference compression)
JROCKIT_64_BIT_WITH_64GB_COMPRESSED_REFS
          Represents 64-Bit JRockit JVM with 64GB Compressed References
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_COMPRESSED_OOPS
          Represents 64-Bit OpenJDK JVM with Compressed OOPs
OPENJDK_64_BIT_WITH_COMPRESSED_OOPS_AND_CONCURRENT_MARK_AND_SWEEP
          Represents 64-Bit OpenJDK JVM with Compressed OOPs and Concurrent Mark-and-Sweep GC
OPENJDK_64_BIT_WITH_CONCURRENT_MARK_AND_SWEEP
          Represents 64-Bit OpenJDK JVM with Concurrent Mark-and-Sweep GC
UNKNOWN_32_BIT
          Represents Generic 32-bit
UNKNOWN_64_BIT
          Represents 64-Bit Generic JVM
 
Field Summary
static JvmInformation CURRENT_JVM_INFORMATION
          The JvmInformation instance representing the current JVM
 
Method Summary
 int getAgentSizeOfAdjustment()
          The size of the jvm-specific agent result adjustment in bytes.
 int getFieldOffsetAdjustment()
          The size of the jvm-specific field offset adjustment in bytes.
 int getJavaPointerSize()
          Size of a java pointer in bytes on this runtime (that differs when compressedOops are being used)
abstract  String getJvmDescription()
          A human-readable description of the JVM and its relevant enabled options.Os
 int getMinimumObjectSize()
          Minimal size an object will occupy on the heap in bytes.
 int getObjectAlignment()
          Object alignment / padding in bytes
 int getObjectHeaderSize()
          The size of an object header in bytes.
 int getPointerSize()
          Size of a pointer in bytes on this runtime
static boolean isHotspot()
          Returns true if VM vendor is Hotspot
static boolean isIBM()
          Returns true if VM vendor is IBM
static boolean isJRockit()
          Returns true if VM is JRockit
static boolean isOpenJDK()
          Returns true if VM vendor is OpenJDK
static boolean isOSX()
          Return true if the VM's vendor is Apple
 boolean supportsAgentSizeOf()
          Whether the jvm can support AgentSizeOf implementation.
 boolean supportsReflectionSizeOf()
          Whether the jvm can support ReflectionSizeOf implementation.
 boolean supportsUnsafeSizeOf()
          Whether the jvm can support UnsafeSizeOf implementation.
static JvmInformation valueOf(String name)
          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.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

UNKNOWN_32_BIT

public static final JvmInformation UNKNOWN_32_BIT
Represents Generic 32-bit


UNKNOWN_64_BIT

public static final JvmInformation UNKNOWN_64_BIT
Represents 64-Bit Generic JVM


HOTSPOT_32_BIT

public static final JvmInformation HOTSPOT_32_BIT
Represents HotSpot 32-bit


HOTSPOT_32_BIT_WITH_CONCURRENT_MARK_AND_SWEEP

public static final JvmInformation HOTSPOT_32_BIT_WITH_CONCURRENT_MARK_AND_SWEEP
Represents 32-Bit HotSpot JVM with Concurrent Mark-and-Sweep GC


HOTSPOT_64_BIT

public static final JvmInformation HOTSPOT_64_BIT
Represents 64-Bit HotSpot JVM


HOTSPOT_64_BIT_WITH_CONCURRENT_MARK_AND_SWEEP

public static final JvmInformation 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

public static final JvmInformation 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_SWEEP
Represents 64-Bit HotSpot JVM with Compressed OOPs and Concurrent Mark-and-Sweep GC


OPENJDK_32_BIT

public static final JvmInformation OPENJDK_32_BIT
Represents OpenJDK 32-bit


OPENJDK_32_BIT_WITH_CONCURRENT_MARK_AND_SWEEP

public static final JvmInformation OPENJDK_32_BIT_WITH_CONCURRENT_MARK_AND_SWEEP
Represents 32-Bit OpenJDK JVM with Concurrent Mark-and-Sweep GC


OPENJDK_64_BIT

public static final JvmInformation OPENJDK_64_BIT
Represents 64-Bit OpenJDK JVM


OPENJDK_64_BIT_WITH_CONCURRENT_MARK_AND_SWEEP

public static final JvmInformation 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

public static final JvmInformation 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_SWEEP
Represents 64-Bit OpenJDK JVM with Compressed OOPs and Concurrent Mark-and-Sweep GC


JROCKIT_32_BIT

public static final JvmInformation JROCKIT_32_BIT
Represents 32-Bit JRockit JVM"


JROCKIT_64_BIT

public static final JvmInformation JROCKIT_64_BIT
Represents 64-Bit JRockit JVM (with no reference compression)


JROCKIT_64_BIT_WITH_64GB_COMPRESSED_REFS

public static final JvmInformation JROCKIT_64_BIT_WITH_64GB_COMPRESSED_REFS
Represents 64-Bit JRockit JVM with 64GB Compressed References


IBM_32_BIT

public static final JvmInformation IBM_32_BIT
Represents IBM 32-bit


IBM_64_BIT

public static final JvmInformation IBM_64_BIT
Represents 64-Bit IBM JVM (with no reference compression)


IBM_64_BIT_WITH_COMPRESSED_REFS

public static final JvmInformation IBM_64_BIT_WITH_COMPRESSED_REFS
Represents 64-Bit IBM JVM (with reference compression)

Field Detail

CURRENT_JVM_INFORMATION

public static final JvmInformation CURRENT_JVM_INFORMATION
The JvmInformation instance representing the current JVM

Method Detail

values

public static JvmInformation[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (JvmInformation c : JvmInformation.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static JvmInformation valueOf(String name)
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 name
NullPointerException - 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

public abstract String getJvmDescription()
A human-readable description of the JVM and its relevant enabled options.Os


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

ehcache

Copyright 2001-2016, Terracotta, Inc.