Package com.google.protobuf
Class UnsafeUtil.MemoryAccessor
- java.lang.Object
-
- com.google.protobuf.UnsafeUtil.MemoryAccessor
-
- Direct Known Subclasses:
UnsafeUtil.Android32MemoryAccessor,UnsafeUtil.Android64MemoryAccessor,UnsafeUtil.JvmMemoryAccessor
- Enclosing class:
- UnsafeUtil
private abstract static class UnsafeUtil.MemoryAccessor extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) sun.misc.Unsafeunsafe
-
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 intarrayBaseOffset(java.lang.Class<?> clazz)intarrayIndexScale(java.lang.Class<?> clazz)abstract voidcopyMemory(byte[] src, long srcIndex, long targetOffset, long length)abstract voidcopyMemory(long srcOffset, byte[] target, long targetIndex, long length)abstract booleangetBoolean(java.lang.Object target, long offset)abstract bytegetByte(long address)abstract bytegetByte(java.lang.Object target, long offset)abstract doublegetDouble(java.lang.Object target, long offset)abstract floatgetFloat(java.lang.Object target, long offset)abstract intgetInt(long address)intgetInt(java.lang.Object target, long offset)abstract longgetLong(long address)longgetLong(java.lang.Object target, long offset)java.lang.ObjectgetObject(java.lang.Object target, long offset)abstract java.lang.ObjectgetStaticObject(java.lang.reflect.Field field)longobjectFieldOffset(java.lang.reflect.Field field)abstract voidputBoolean(java.lang.Object target, long offset, boolean value)abstract voidputByte(long address, byte value)abstract voidputByte(java.lang.Object target, long offset, byte value)abstract voidputDouble(java.lang.Object target, long offset, double value)abstract voidputFloat(java.lang.Object target, long offset, float value)abstract voidputInt(long address, int value)voidputInt(java.lang.Object target, long offset, int value)abstract voidputLong(long address, long value)voidputLong(java.lang.Object target, long offset, long value)voidputObject(java.lang.Object target, long offset, java.lang.Object value)booleansupportsUnsafeArrayOperations()booleansupportsUnsafeByteBufferOperations()
-
-
-
Method Detail
-
objectFieldOffset
public final long objectFieldOffset(java.lang.reflect.Field field)
-
arrayBaseOffset
public final int arrayBaseOffset(java.lang.Class<?> clazz)
-
arrayIndexScale
public final int arrayIndexScale(java.lang.Class<?> clazz)
-
getStaticObject
public abstract java.lang.Object getStaticObject(java.lang.reflect.Field field)
-
supportsUnsafeArrayOperations
public boolean supportsUnsafeArrayOperations()
-
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)
-
supportsUnsafeByteBufferOperations
public boolean supportsUnsafeByteBufferOperations()
-
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)
-
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)
-
-