Top Description Fields Constructors Methods
jdk.internal.misc

pack-priv final Class UnsafeConstants

extends Object
Class Inheritance

A class used to expose details of the underlying hardware that configure the operation of class Unsafe. This class is package-private as the only intended client is class Unsafe. All fields in this class must be static final constants.

Implementation Note

The JVM injects hardware-specific values into all the static fields of this class during JVM initialization. The static initialization block is executed when the class is initialized then JVM injection updates the fields with the correct constants. The static block is required to prevent the fields from being considered constant variables, so the field values will be not be compiled directly into any class that uses them.

Since
13

Field Summary

Modifier and TypeField and Description
pack-priv static final int
ADDRESS_SIZE0

The size in bytes of a native pointer, as stored via putAddress.

pack-priv static final boolean
BIG_ENDIAN

Flag whose value is true if and only if the native endianness of this platform is big.

pack-priv static final int
DATA_CACHE_LINE_FLUSH_SIZE

The size of an L1 data cache line which will be either a power of two or zero.

pack-priv static final int
PAGE_SIZE

The size in bytes of a native memory page (whatever that is).

pack-priv static final boolean
UNALIGNED_ACCESS

Flag whose value is true if and only if the platform can perform unaligned accesses

Constructor Summary

AccessConstructor and Description
private
UnsafeConstants()

This constructor is private because the class is not meant to be instantiated.

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ADDRESS_SIZE0back to summary
pack-priv static final int ADDRESS_SIZE0

The size in bytes of a native pointer, as stored via putAddress. This value will be either 4 or 8. Note that the sizes of other primitive types (as stored in native memory blocks) is determined fully by their information content.

Implementation Note

The actual value for this field is injected by the JVM.

BIG_ENDIANback to summary
pack-priv static final boolean BIG_ENDIAN

Flag whose value is true if and only if the native endianness of this platform is big.

Implementation Note

The actual value for this field is injected by the JVM.

DATA_CACHE_LINE_FLUSH_SIZEback to summary
pack-priv static final int DATA_CACHE_LINE_FLUSH_SIZE

The size of an L1 data cache line which will be either a power of two or zero.

A non-zero value indicates that writeback to memory is enabled for the current processor. The value defines the natural alignment and size of any data cache line committed to memory by a single writeback operation. If data cache line writeback is not enabled for the current hardware the field will have value 0.

Implementation Note

The actual value for this field is injected by the JVM.

PAGE_SIZEback to summary
pack-priv static final int PAGE_SIZE

The size in bytes of a native memory page (whatever that is). This value will always be a power of two.

Implementation Note

The actual value for this field is injected by the JVM.

UNALIGNED_ACCESSback to summary
pack-priv static final boolean UNALIGNED_ACCESS

Flag whose value is true if and only if the platform can perform unaligned accesses

Implementation Note

The actual value for this field is injected by the JVM.

Constructor Detail

UnsafeConstantsback to summary
private UnsafeConstants()

This constructor is private because the class is not meant to be instantiated.