Package sun.misc
Class Unsafe
java.lang.Object
sun.misc.Unsafe
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
-
Method Summary
Modifier and TypeMethodDescriptionint
allocateInstance
(Class<?> cls) long
allocateMemory
(long bytes) int
arrayBaseOffset
(Class<?> arrayClass) int
arrayIndexScale
(Class<?> arrayClass) final boolean
compareAndSwapInt
(Object o, long offset, int expected, int x) final boolean
compareAndSwapLong
(Object o, long offset, long expected, long x) final boolean
compareAndSwapObject
(Object o, long offset, Object expected, Object x) void
copyMemory
(long srcAddress, long destAddress, long bytes) void
copyMemory
(Object srcBase, long srcOffset, Object destBase, long destOffset, long bytes) Class
<?> defineAnonymousClass
(Class<?> hostClass, byte[] data, Object[] cpPatches) Class
<?> defineClass
(String name, byte[] b, int off, int len, ClassLoader loader, ProtectionDomain protectionDomain) Deprecated.void
ensureClassInitialized
(Class<?> c) void
freeMemory
(long address) void
long
getAddress
(long address) final int
getAndAddInt
(Object o, long offset, int delta) final long
getAndAddLong
(Object o, long offset, long delta) final int
getAndSetInt
(Object o, long offset, int newValue) final long
getAndSetLong
(Object o, long offset, long newValue) final Object
getAndSetObject
(Object o, long offset, Object newValue) boolean
getBoolean
(Object o, long offset) boolean
getBooleanVolatile
(Object o, long offset) byte
getByte
(long address) byte
byte
getByteVolatile
(Object o, long offset) char
getChar
(long address) char
char
getCharVolatile
(Object o, long offset) double
getDouble
(long address) double
double
getDoubleVolatile
(Object o, long offset) float
getFloat
(long address) float
float
getFloatVolatile
(Object o, long offset) int
getInt
(long address) int
int
getIntVolatile
(Object o, long offset) int
getLoadAverage
(double[] loadavg, int nelems) long
getLong
(long address) long
long
getLongVolatile
(Object o, long offset) getObjectVolatile
(Object o, long offset) short
getShort
(long address) short
short
getShortVolatile
(Object o, long offset) static Unsafe
void
invokeCleaner
(ByteBuffer directBuffer) void
long
int
pageSize()
void
park
(boolean isAbsolute, long time) void
putAddress
(long address, long x) void
putBoolean
(Object o, long offset, boolean x) void
putBooleanVolatile
(Object o, long offset, boolean x) void
putByte
(long address, byte x) void
void
putByteVolatile
(Object o, long offset, byte x) void
putChar
(long address, char x) void
void
putCharVolatile
(Object o, long offset, char x) void
putDouble
(long address, double x) void
void
putDoubleVolatile
(Object o, long offset, double x) void
putFloat
(long address, float x) void
void
putFloatVolatile
(Object o, long offset, float x) void
putInt
(long address, int x) void
void
putIntVolatile
(Object o, long offset, int x) void
putLong
(long address, long x) void
void
putLongVolatile
(Object o, long offset, long x) void
void
putObjectVolatile
(Object o, long offset, Object x) void
putOrderedInt
(Object o, long offset, int x) void
putOrderedLong
(Object o, long offset, long x) void
putOrderedObject
(Object o, long offset, Object x) void
putShort
(long address, short x) void
void
putShortVolatile
(Object o, long offset, short x) long
reallocateMemory
(long address, long bytes) void
setMemory
(long address, long bytes, byte value) void
boolean
shouldBeInitialized
(Class<?> c) long
void
void
void
-
Field Details
-
INVALID_FIELD_OFFSET
public static final int INVALID_FIELD_OFFSET -
ARRAY_BOOLEAN_BASE_OFFSET
public static final int ARRAY_BOOLEAN_BASE_OFFSET -
ARRAY_BYTE_BASE_OFFSET
public static final int ARRAY_BYTE_BASE_OFFSET -
ARRAY_SHORT_BASE_OFFSET
public static final int ARRAY_SHORT_BASE_OFFSET -
ARRAY_CHAR_BASE_OFFSET
public static final int ARRAY_CHAR_BASE_OFFSET -
ARRAY_INT_BASE_OFFSET
public static final int ARRAY_INT_BASE_OFFSET -
ARRAY_LONG_BASE_OFFSET
public static final int ARRAY_LONG_BASE_OFFSET -
ARRAY_FLOAT_BASE_OFFSET
public static final int ARRAY_FLOAT_BASE_OFFSET -
ARRAY_DOUBLE_BASE_OFFSET
public static final int ARRAY_DOUBLE_BASE_OFFSET -
ARRAY_OBJECT_BASE_OFFSET
public static final int ARRAY_OBJECT_BASE_OFFSET -
ARRAY_BOOLEAN_INDEX_SCALE
public static final int ARRAY_BOOLEAN_INDEX_SCALE -
ARRAY_BYTE_INDEX_SCALE
public static final int ARRAY_BYTE_INDEX_SCALE -
ARRAY_SHORT_INDEX_SCALE
public static final int ARRAY_SHORT_INDEX_SCALE -
ARRAY_CHAR_INDEX_SCALE
public static final int ARRAY_CHAR_INDEX_SCALE -
ARRAY_INT_INDEX_SCALE
public static final int ARRAY_INT_INDEX_SCALE -
ARRAY_LONG_INDEX_SCALE
public static final int ARRAY_LONG_INDEX_SCALE -
ARRAY_FLOAT_INDEX_SCALE
public static final int ARRAY_FLOAT_INDEX_SCALE -
ARRAY_DOUBLE_INDEX_SCALE
public static final int ARRAY_DOUBLE_INDEX_SCALE -
ARRAY_OBJECT_INDEX_SCALE
public static final int ARRAY_OBJECT_INDEX_SCALE -
ADDRESS_SIZE
public static final int ADDRESS_SIZE
-
-
Method Details
-
getUnsafe
-
getInt
-
putInt
-
getObject
-
putObject
-
getBoolean
-
putBoolean
-
getByte
-
putByte
-
getShort
-
putShort
-
getChar
-
putChar
-
getLong
-
putLong
-
getFloat
-
putFloat
-
getDouble
-
putDouble
-
getByte
public byte getByte(long address) -
putByte
public void putByte(long address, byte x) -
getShort
public short getShort(long address) -
putShort
public void putShort(long address, short x) -
getChar
public char getChar(long address) -
putChar
public void putChar(long address, char x) -
getInt
public int getInt(long address) -
putInt
public void putInt(long address, int x) -
getLong
public long getLong(long address) -
putLong
public void putLong(long address, long x) -
getFloat
public float getFloat(long address) -
putFloat
public void putFloat(long address, float x) -
getDouble
public double getDouble(long address) -
putDouble
public void putDouble(long address, double x) -
getAddress
public long getAddress(long address) -
putAddress
public void putAddress(long address, long x) -
allocateMemory
public long allocateMemory(long bytes) -
reallocateMemory
public long reallocateMemory(long address, long bytes) -
setMemory
-
setMemory
public void setMemory(long address, long bytes, byte value) -
copyMemory
-
copyMemory
public void copyMemory(long srcAddress, long destAddress, long bytes) -
freeMemory
public void freeMemory(long address) -
objectFieldOffset
-
staticFieldOffset
-
staticFieldBase
-
shouldBeInitialized
-
ensureClassInitialized
-
arrayBaseOffset
-
arrayIndexScale
-
addressSize
public int addressSize() -
pageSize
public int pageSize() -
defineClass
@Deprecated public Class<?> defineClass(String name, byte[] b, int off, int len, ClassLoader loader, ProtectionDomain protectionDomain) Deprecated. -
defineAnonymousClass
-
allocateInstance
- Throws:
InstantiationException
-
throwException
-
compareAndSwapObject
-
compareAndSwapInt
-
compareAndSwapLong
-
getObjectVolatile
-
putObjectVolatile
-
getIntVolatile
-
putIntVolatile
-
getBooleanVolatile
-
putBooleanVolatile
-
getByteVolatile
-
putByteVolatile
-
getShortVolatile
-
putShortVolatile
-
getCharVolatile
-
putCharVolatile
-
getLongVolatile
-
putLongVolatile
-
getFloatVolatile
-
putFloatVolatile
-
getDoubleVolatile
-
putDoubleVolatile
-
putOrderedObject
-
putOrderedInt
-
putOrderedLong
-
unpark
-
park
public void park(boolean isAbsolute, long time) -
getLoadAverage
public int getLoadAverage(double[] loadavg, int nelems) -
getAndAddInt
-
getAndAddLong
-
getAndSetInt
-
getAndSetLong
-
getAndSetObject
-
loadFence
public void loadFence() -
storeFence
public void storeFence() -
fullFence
public void fullFence() -
invokeCleaner
-