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
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal intarrayBaseOffset(Class<?> clazz) final intarrayIndexScale(Class<?> clazz) abstract voidcopyMemory(byte[] src, long srcIndex, long targetOffset, long length) abstract voidcopyMemory(long srcOffset, byte[] target, long targetIndex, long length) abstract booleangetBoolean(Object target, long offset) abstract bytegetByte(long address) abstract byteabstract doubleabstract floatabstract intgetInt(long address) final intabstract longgetLong(long address) final longfinal Objectabstract ObjectgetStaticObject(Field field) final longobjectFieldOffset(Field field) abstract voidputBoolean(Object target, long offset, boolean value) abstract voidputByte(long address, byte value) abstract voidabstract voidabstract voidabstract voidputInt(long address, int value) final voidabstract voidputLong(long address, long value) final voidfinal voidbooleanboolean
-
Field Details
-
unsafe
sun.misc.Unsafe unsafe
-
-
Constructor Details
-
MemoryAccessor
MemoryAccessor(sun.misc.Unsafe unsafe)
-
-
Method Details
-
objectFieldOffset
-
arrayBaseOffset
-
arrayIndexScale
-
getStaticObject
-
supportsUnsafeArrayOperations
public boolean supportsUnsafeArrayOperations() -
getByte
-
putByte
-
getInt
-
putInt
-
getLong
-
putLong
-
getBoolean
-
putBoolean
-
getFloat
-
putFloat
-
getDouble
-
putDouble
-
getObject
-
putObject
-
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)
-