Package sun.misc

Class Unsafe

java.lang.Object
sun.misc.Unsafe

public class Unsafe extends Object
  • 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

      public static Unsafe getUnsafe()
    • getInt

      public int getInt(Object o, long offset)
    • putInt

      public void putInt(Object o, long offset, int x)
    • getObject

      public Object getObject(Object o, long offset)
    • putObject

      public void putObject(Object o, long offset, Object x)
    • getBoolean

      public boolean getBoolean(Object o, long offset)
    • putBoolean

      public void putBoolean(Object o, long offset, boolean x)
    • getByte

      public byte getByte(Object o, long offset)
    • putByte

      public void putByte(Object o, long offset, byte x)
    • getShort

      public short getShort(Object o, long offset)
    • putShort

      public void putShort(Object o, long offset, short x)
    • getChar

      public char getChar(Object o, long offset)
    • putChar

      public void putChar(Object o, long offset, char x)
    • getLong

      public long getLong(Object o, long offset)
    • putLong

      public void putLong(Object o, long offset, long x)
    • getFloat

      public float getFloat(Object o, long offset)
    • putFloat

      public void putFloat(Object o, long offset, float x)
    • getDouble

      public double getDouble(Object o, long offset)
    • putDouble

      public void putDouble(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(Object o, long offset, long bytes, byte value)
    • setMemory

      public void setMemory(long address, long bytes, byte value)
    • copyMemory

      public void copyMemory(Object srcBase, long srcOffset, 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(Field f)
    • staticFieldOffset

      public long staticFieldOffset(Field f)
    • staticFieldBase

      public Object staticFieldBase(Field f)
    • shouldBeInitialized

      public boolean shouldBeInitialized(Class<?> c)
    • ensureClassInitialized

      public void ensureClassInitialized(Class<?> c)
    • arrayBaseOffset

      public int arrayBaseOffset(Class<?> arrayClass)
    • arrayIndexScale

      public int arrayIndexScale(Class<?> arrayClass)
    • 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

      public Class<?> defineAnonymousClass(Class<?> hostClass, byte[] data, Object[] cpPatches)
    • allocateInstance

      public Object allocateInstance(Class<?> cls) throws InstantiationException
      Throws:
      InstantiationException
    • throwException

      public void throwException(Throwable ee)
    • compareAndSwapObject

      public final boolean compareAndSwapObject(Object o, long offset, Object expected, Object x)
    • compareAndSwapInt

      public final boolean compareAndSwapInt(Object o, long offset, int expected, int x)
    • compareAndSwapLong

      public final boolean compareAndSwapLong(Object o, long offset, long expected, long x)
    • getObjectVolatile

      public Object getObjectVolatile(Object o, long offset)
    • putObjectVolatile

      public void putObjectVolatile(Object o, long offset, Object x)
    • getIntVolatile

      public int getIntVolatile(Object o, long offset)
    • putIntVolatile

      public void putIntVolatile(Object o, long offset, int x)
    • getBooleanVolatile

      public boolean getBooleanVolatile(Object o, long offset)
    • putBooleanVolatile

      public void putBooleanVolatile(Object o, long offset, boolean x)
    • getByteVolatile

      public byte getByteVolatile(Object o, long offset)
    • putByteVolatile

      public void putByteVolatile(Object o, long offset, byte x)
    • getShortVolatile

      public short getShortVolatile(Object o, long offset)
    • putShortVolatile

      public void putShortVolatile(Object o, long offset, short x)
    • getCharVolatile

      public char getCharVolatile(Object o, long offset)
    • putCharVolatile

      public void putCharVolatile(Object o, long offset, char x)
    • getLongVolatile

      public long getLongVolatile(Object o, long offset)
    • putLongVolatile

      public void putLongVolatile(Object o, long offset, long x)
    • getFloatVolatile

      public float getFloatVolatile(Object o, long offset)
    • putFloatVolatile

      public void putFloatVolatile(Object o, long offset, float x)
    • getDoubleVolatile

      public double getDoubleVolatile(Object o, long offset)
    • putDoubleVolatile

      public void putDoubleVolatile(Object o, long offset, double x)
    • putOrderedObject

      public void putOrderedObject(Object o, long offset, Object x)
    • putOrderedInt

      public void putOrderedInt(Object o, long offset, int x)
    • putOrderedLong

      public void putOrderedLong(Object o, long offset, long x)
    • unpark

      public void unpark(Object thread)
    • park

      public void park(boolean isAbsolute, long time)
    • getLoadAverage

      public int getLoadAverage(double[] loadavg, int nelems)
    • getAndAddInt

      public final int getAndAddInt(Object o, long offset, int delta)
    • getAndAddLong

      public final long getAndAddLong(Object o, long offset, long delta)
    • getAndSetInt

      public final int getAndSetInt(Object o, long offset, int newValue)
    • getAndSetLong

      public final long getAndSetLong(Object o, long offset, long newValue)
    • getAndSetObject

      public final Object getAndSetObject(Object o, long offset, Object newValue)
    • loadFence

      public void loadFence()
    • storeFence

      public void storeFence()
    • fullFence

      public void fullFence()
    • invokeCleaner

      public void invokeCleaner(ByteBuffer directBuffer)