Package sun.misc
Class Unsafe
- java.lang.Object
-
- sun.misc.Unsafe
-
public class Unsafe extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static intADDRESS_SIZEstatic intARRAY_BOOLEAN_BASE_OFFSETstatic intARRAY_BOOLEAN_INDEX_SCALEstatic intARRAY_BYTE_BASE_OFFSETstatic intARRAY_BYTE_INDEX_SCALEstatic intARRAY_CHAR_BASE_OFFSETstatic intARRAY_CHAR_INDEX_SCALEstatic intARRAY_DOUBLE_BASE_OFFSETstatic intARRAY_DOUBLE_INDEX_SCALEstatic intARRAY_FLOAT_BASE_OFFSETstatic intARRAY_FLOAT_INDEX_SCALEstatic intARRAY_INT_BASE_OFFSETstatic intARRAY_INT_INDEX_SCALEstatic intARRAY_LONG_BASE_OFFSETstatic intARRAY_LONG_INDEX_SCALEstatic intARRAY_OBJECT_BASE_OFFSETstatic intARRAY_OBJECT_INDEX_SCALEstatic intARRAY_SHORT_BASE_OFFSETstatic intARRAY_SHORT_INDEX_SCALEstatic intINVALID_FIELD_OFFSET
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description intaddressSize()java.lang.ObjectallocateInstance(java.lang.Class<?> cls)longallocateMemory(long bytes)intarrayBaseOffset(java.lang.Class<?> arrayClass)intarrayIndexScale(java.lang.Class<?> arrayClass)booleancompareAndSwapInt(java.lang.Object o, long offset, int expected, int x)booleancompareAndSwapLong(java.lang.Object o, long offset, long expected, long x)booleancompareAndSwapObject(java.lang.Object o, long offset, java.lang.Object expected, java.lang.Object x)voidcopyMemory(long srcAddress, long destAddress, long bytes)voidcopyMemory(java.lang.Object srcBase, long srcOffset, java.lang.Object destBase, long destOffset, long bytes)java.lang.Class<?>defineAnonymousClass(java.lang.Class<?> hostClass, byte[] data, java.lang.Object[] cpPatches)java.lang.Class<?>defineClass(java.lang.String name, byte[] b, int off, int len, java.lang.ClassLoader loader, java.security.ProtectionDomain protectionDomain)Deprecated.voidensureClassInitialized(java.lang.Class<?> c)voidfreeMemory(long address)voidfullFence()longgetAddress(long address)intgetAndAddInt(java.lang.Object o, long offset, int delta)longgetAndAddLong(java.lang.Object o, long offset, long delta)intgetAndSetInt(java.lang.Object o, long offset, int newValue)longgetAndSetLong(java.lang.Object o, long offset, long newValue)java.lang.ObjectgetAndSetObject(java.lang.Object o, long offset, java.lang.Object newValue)booleangetBoolean(java.lang.Object o, long offset)booleangetBooleanVolatile(java.lang.Object o, long offset)bytegetByte(long address)bytegetByte(java.lang.Object o, long offset)bytegetByteVolatile(java.lang.Object o, long offset)chargetChar(long address)chargetChar(java.lang.Object o, long offset)chargetCharVolatile(java.lang.Object o, long offset)doublegetDouble(long address)doublegetDouble(java.lang.Object o, long offset)doublegetDoubleVolatile(java.lang.Object o, long offset)floatgetFloat(long address)floatgetFloat(java.lang.Object o, long offset)floatgetFloatVolatile(java.lang.Object o, long offset)intgetInt(long address)intgetInt(java.lang.Object o, long offset)intgetIntVolatile(java.lang.Object o, long offset)intgetLoadAverage(double[] loadavg, int nelems)longgetLong(long address)longgetLong(java.lang.Object o, long offset)longgetLongVolatile(java.lang.Object o, long offset)java.lang.ObjectgetObject(java.lang.Object o, long offset)java.lang.ObjectgetObjectVolatile(java.lang.Object o, long offset)shortgetShort(long address)shortgetShort(java.lang.Object o, long offset)shortgetShortVolatile(java.lang.Object o, long offset)static UnsafegetUnsafe()voidinvokeCleaner(java.nio.ByteBuffer directBuffer)voidloadFence()longobjectFieldOffset(java.lang.reflect.Field f)intpageSize()voidpark(boolean isAbsolute, long time)voidputAddress(long address, long x)voidputBoolean(java.lang.Object o, long offset, boolean x)voidputBooleanVolatile(java.lang.Object o, long offset, boolean x)voidputByte(long address, byte x)voidputByte(java.lang.Object o, long offset, byte x)voidputByteVolatile(java.lang.Object o, long offset, byte x)voidputChar(long address, char x)voidputChar(java.lang.Object o, long offset, char x)voidputCharVolatile(java.lang.Object o, long offset, char x)voidputDouble(long address, double x)voidputDouble(java.lang.Object o, long offset, double x)voidputDoubleVolatile(java.lang.Object o, long offset, double x)voidputFloat(long address, float x)voidputFloat(java.lang.Object o, long offset, float x)voidputFloatVolatile(java.lang.Object o, long offset, float x)voidputInt(long address, int x)voidputInt(java.lang.Object o, long offset, int x)voidputIntVolatile(java.lang.Object o, long offset, int x)voidputLong(long address, long x)voidputLong(java.lang.Object o, long offset, long x)voidputLongVolatile(java.lang.Object o, long offset, long x)voidputObject(java.lang.Object o, long offset, java.lang.Object x)voidputObjectVolatile(java.lang.Object o, long offset, java.lang.Object x)voidputOrderedInt(java.lang.Object o, long offset, int x)voidputOrderedLong(java.lang.Object o, long offset, long x)voidputOrderedObject(java.lang.Object o, long offset, java.lang.Object x)voidputShort(long address, short x)voidputShort(java.lang.Object o, long offset, short x)voidputShortVolatile(java.lang.Object o, long offset, short x)longreallocateMemory(long address, long bytes)voidsetMemory(long address, long bytes, byte value)voidsetMemory(java.lang.Object o, long offset, long bytes, byte value)booleanshouldBeInitialized(java.lang.Class<?> c)java.lang.ObjectstaticFieldBase(java.lang.reflect.Field f)longstaticFieldOffset(java.lang.reflect.Field f)voidstoreFence()voidthrowException(java.lang.Throwable ee)voidunpark(java.lang.Object thread)
-
-
-
Field Detail
-
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 Detail
-
getUnsafe
public static Unsafe getUnsafe()
-
getInt
public int getInt(java.lang.Object o, long offset)
-
putInt
public void putInt(java.lang.Object o, long offset, int x)
-
getObject
public java.lang.Object getObject(java.lang.Object o, long offset)
-
putObject
public void putObject(java.lang.Object o, long offset, java.lang.Object x)
-
getBoolean
public boolean getBoolean(java.lang.Object o, long offset)
-
putBoolean
public void putBoolean(java.lang.Object o, long offset, boolean x)
-
getByte
public byte getByte(java.lang.Object o, long offset)
-
putByte
public void putByte(java.lang.Object o, long offset, byte x)
-
getShort
public short getShort(java.lang.Object o, long offset)
-
putShort
public void putShort(java.lang.Object o, long offset, short x)
-
getChar
public char getChar(java.lang.Object o, long offset)
-
putChar
public void putChar(java.lang.Object o, long offset, char x)
-
getLong
public long getLong(java.lang.Object o, long offset)
-
putLong
public void putLong(java.lang.Object o, long offset, long x)
-
getFloat
public float getFloat(java.lang.Object o, long offset)
-
putFloat
public void putFloat(java.lang.Object o, long offset, float x)
-
getDouble
public double getDouble(java.lang.Object o, long offset)
-
putDouble
public void putDouble(java.lang.Object o, long offset, double x)
-
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
public void setMemory(java.lang.Object o, long offset, long bytes, byte value)
-
setMemory
public void setMemory(long address, long bytes, byte value)
-
copyMemory
public void copyMemory(java.lang.Object srcBase, long srcOffset, java.lang.Object destBase, long destOffset, long bytes)
-
copyMemory
public void copyMemory(long srcAddress, long destAddress, long bytes)
-
freeMemory
public void freeMemory(long address)
-
objectFieldOffset
public long objectFieldOffset(java.lang.reflect.Field f)
-
staticFieldOffset
public long staticFieldOffset(java.lang.reflect.Field f)
-
staticFieldBase
public java.lang.Object staticFieldBase(java.lang.reflect.Field f)
-
shouldBeInitialized
public boolean shouldBeInitialized(java.lang.Class<?> c)
-
ensureClassInitialized
public void ensureClassInitialized(java.lang.Class<?> c)
-
arrayBaseOffset
public int arrayBaseOffset(java.lang.Class<?> arrayClass)
-
arrayIndexScale
public int arrayIndexScale(java.lang.Class<?> arrayClass)
-
addressSize
public int addressSize()
-
pageSize
public int pageSize()
-
defineClass
@Deprecated public java.lang.Class<?> defineClass(java.lang.String name, byte[] b, int off, int len, java.lang.ClassLoader loader, java.security.ProtectionDomain protectionDomain)Deprecated.
-
defineAnonymousClass
public java.lang.Class<?> defineAnonymousClass(java.lang.Class<?> hostClass, byte[] data, java.lang.Object[] cpPatches)
-
allocateInstance
public java.lang.Object allocateInstance(java.lang.Class<?> cls) throws java.lang.InstantiationException- Throws:
java.lang.InstantiationException
-
throwException
public void throwException(java.lang.Throwable ee)
-
compareAndSwapObject
public final boolean compareAndSwapObject(java.lang.Object o, long offset, java.lang.Object expected, java.lang.Object x)
-
compareAndSwapInt
public final boolean compareAndSwapInt(java.lang.Object o, long offset, int expected, int x)
-
compareAndSwapLong
public final boolean compareAndSwapLong(java.lang.Object o, long offset, long expected, long x)
-
getObjectVolatile
public java.lang.Object getObjectVolatile(java.lang.Object o, long offset)
-
putObjectVolatile
public void putObjectVolatile(java.lang.Object o, long offset, java.lang.Object x)
-
getIntVolatile
public int getIntVolatile(java.lang.Object o, long offset)
-
putIntVolatile
public void putIntVolatile(java.lang.Object o, long offset, int x)
-
getBooleanVolatile
public boolean getBooleanVolatile(java.lang.Object o, long offset)
-
putBooleanVolatile
public void putBooleanVolatile(java.lang.Object o, long offset, boolean x)
-
getByteVolatile
public byte getByteVolatile(java.lang.Object o, long offset)
-
putByteVolatile
public void putByteVolatile(java.lang.Object o, long offset, byte x)
-
getShortVolatile
public short getShortVolatile(java.lang.Object o, long offset)
-
putShortVolatile
public void putShortVolatile(java.lang.Object o, long offset, short x)
-
getCharVolatile
public char getCharVolatile(java.lang.Object o, long offset)
-
putCharVolatile
public void putCharVolatile(java.lang.Object o, long offset, char x)
-
getLongVolatile
public long getLongVolatile(java.lang.Object o, long offset)
-
putLongVolatile
public void putLongVolatile(java.lang.Object o, long offset, long x)
-
getFloatVolatile
public float getFloatVolatile(java.lang.Object o, long offset)
-
putFloatVolatile
public void putFloatVolatile(java.lang.Object o, long offset, float x)
-
getDoubleVolatile
public double getDoubleVolatile(java.lang.Object o, long offset)
-
putDoubleVolatile
public void putDoubleVolatile(java.lang.Object o, long offset, double x)
-
putOrderedObject
public void putOrderedObject(java.lang.Object o, long offset, java.lang.Object x)
-
putOrderedInt
public void putOrderedInt(java.lang.Object o, long offset, int x)
-
putOrderedLong
public void putOrderedLong(java.lang.Object o, long offset, long x)
-
unpark
public void unpark(java.lang.Object thread)
-
park
public void park(boolean isAbsolute, long time)
-
getLoadAverage
public int getLoadAverage(double[] loadavg, int nelems)
-
getAndAddInt
public final int getAndAddInt(java.lang.Object o, long offset, int delta)
-
getAndAddLong
public final long getAndAddLong(java.lang.Object o, long offset, long delta)
-
getAndSetInt
public final int getAndSetInt(java.lang.Object o, long offset, int newValue)
-
getAndSetLong
public final long getAndSetLong(java.lang.Object o, long offset, long newValue)
-
getAndSetObject
public final java.lang.Object getAndSetObject(java.lang.Object o, long offset, java.lang.Object newValue)
-
loadFence
public void loadFence()
-
storeFence
public void storeFence()
-
fullFence
public void fullFence()
-
invokeCleaner
public void invokeCleaner(java.nio.ByteBuffer directBuffer)
-
-