Package sun.misc

Class Unsafe


  • public class Unsafe
    extends java.lang.Object
    • 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)