Class UnsafeUtil.MemoryAccessor

    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) sun.misc.Unsafe unsafe  
    • Constructor Summary

      Constructors 
      Constructor Description
      MemoryAccessor​(sun.misc.Unsafe unsafe)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      int arrayBaseOffset​(java.lang.Class<?> clazz)  
      int arrayIndexScale​(java.lang.Class<?> clazz)  
      abstract void copyMemory​(byte[] src, long srcIndex, long targetOffset, long length)  
      abstract void copyMemory​(long srcOffset, byte[] target, long targetIndex, long length)  
      abstract boolean getBoolean​(java.lang.Object target, long offset)  
      abstract byte getByte​(long address)  
      abstract byte getByte​(java.lang.Object target, long offset)  
      abstract double getDouble​(java.lang.Object target, long offset)  
      abstract float getFloat​(java.lang.Object target, long offset)  
      abstract int getInt​(long address)  
      int getInt​(java.lang.Object target, long offset)  
      abstract long getLong​(long address)  
      long getLong​(java.lang.Object target, long offset)  
      java.lang.Object getObject​(java.lang.Object target, long offset)  
      abstract java.lang.Object getStaticObject​(java.lang.reflect.Field field)  
      long objectFieldOffset​(java.lang.reflect.Field field)  
      abstract void putBoolean​(java.lang.Object target, long offset, boolean value)  
      abstract void putByte​(long address, byte value)  
      abstract void putByte​(java.lang.Object target, long offset, byte value)  
      abstract void putDouble​(java.lang.Object target, long offset, double value)  
      abstract void putFloat​(java.lang.Object target, long offset, float value)  
      abstract void putInt​(long address, int value)  
      void putInt​(java.lang.Object target, long offset, int value)  
      abstract void putLong​(long address, long value)  
      void putLong​(java.lang.Object target, long offset, long value)  
      void putObject​(java.lang.Object target, long offset, java.lang.Object value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • unsafe

        sun.misc.Unsafe unsafe
    • Constructor Detail

      • MemoryAccessor

        MemoryAccessor​(sun.misc.Unsafe unsafe)
    • Method Detail

      • objectFieldOffset

        public final long objectFieldOffset​(java.lang.reflect.Field field)
      • getByte

        public abstract byte getByte​(java.lang.Object target,
                                     long offset)
      • putByte

        public abstract void putByte​(java.lang.Object target,
                                     long offset,
                                     byte value)
      • getInt

        public final int getInt​(java.lang.Object target,
                                long offset)
      • putInt

        public final void putInt​(java.lang.Object target,
                                 long offset,
                                 int value)
      • getLong

        public final long getLong​(java.lang.Object target,
                                  long offset)
      • putLong

        public final void putLong​(java.lang.Object target,
                                  long offset,
                                  long value)
      • getBoolean

        public abstract boolean getBoolean​(java.lang.Object target,
                                           long offset)
      • putBoolean

        public abstract void putBoolean​(java.lang.Object target,
                                        long offset,
                                        boolean value)
      • getFloat

        public abstract float getFloat​(java.lang.Object target,
                                       long offset)
      • putFloat

        public abstract void putFloat​(java.lang.Object target,
                                      long offset,
                                      float value)
      • getDouble

        public abstract double getDouble​(java.lang.Object target,
                                         long offset)
      • putDouble

        public abstract void putDouble​(java.lang.Object target,
                                       long offset,
                                       double value)
      • getObject

        public final java.lang.Object getObject​(java.lang.Object target,
                                                long offset)
      • putObject

        public final void putObject​(java.lang.Object target,
                                    long offset,
                                    java.lang.Object value)
      • arrayBaseOffset

        public final int arrayBaseOffset​(java.lang.Class<?> clazz)
      • arrayIndexScale

        public final int arrayIndexScale​(java.lang.Class<?> clazz)
      • getByte

        public abstract byte getByte​(long address)
      • putByte

        public abstract void putByte​(long address,
                                     byte value)
      • getInt

        public abstract int getInt​(long address)
      • putInt

        public abstract void putInt​(long address,
                                    int value)
      • getLong

        public abstract long getLong​(long address)
      • putLong

        public abstract void putLong​(long address,
                                     long value)
      • getStaticObject

        public abstract java.lang.Object getStaticObject​(java.lang.reflect.Field field)
      • copyMemory

        public abstract void copyMemory​(long srcOffset,
                                        byte[] target,
                                        long targetIndex,
                                        long length)
      • copyMemory

        public abstract void copyMemory​(byte[] src,
                                        long srcIndex,
                                        long targetOffset,
                                        long length)