public static class UnsafeUtil.UnsafeAccessor extends Object
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
allocateInstance(Class<?> clazz) |
int |
arrayBaseOffset(Class<?> clazz)
Reports the offset of the first element in the storage allocation of a
given array class.
|
int |
arrayIndexScale(Class<?> clazz)
Reports the scale factor for addressing elements in the storage
allocation of a given array class.
|
void |
copyMemory(long srcAddress,
long dstAddress,
long bytes) |
void |
copyMemory(Object srcBase,
long srcOffset,
Object dstBase,
long dstOffset,
long bytes) |
boolean |
getBoolean(Object target,
long offset) |
boolean |
getBooleanVolatile(Object target,
long offset) |
byte |
getByte(long address) |
byte |
getByte(Object target,
long offset) |
byte |
getByteVolatile(Object target,
long offset) |
double |
getDouble(Object target,
long offset) |
double |
getDoubleVolatile(Object target,
long offset) |
float |
getFloat(Object target,
long offset) |
float |
getFloatVolatile(Object target,
long offset) |
int |
getInt(long address) |
int |
getInt(Object target,
long offset) |
int |
getIntVolatile(Object target,
long offset) |
long |
getLong(long address) |
long |
getLong(Object target,
long offset) |
long |
getLongVolatile(Object target,
long offset) |
Object |
getObject(Object target,
long offset) |
Object |
getObjectVolatile(Object target,
long offset) |
short |
getShort(long address) |
short |
getShort(Object target,
long offset) |
short |
getShortVolatile(Object target,
long offset) |
sun.misc.Unsafe |
getUnsafe()
Returns the
Unsafe's instance. |
long |
objectFieldOffset(Field field)
Returns the offset of the provided field, or
-1 if sun.misc.Unsafe is not
available. |
void |
putBoolean(Object target,
long offset,
boolean value) |
void |
putBooleanVolatile(Object target,
long offset,
boolean value) |
void |
putByte(long address,
byte value) |
void |
putByte(Object target,
long offset,
byte value) |
void |
putByteVolatile(Object target,
long offset,
byte value) |
void |
putDouble(Object target,
long offset,
double value) |
void |
putDoubleVolatile(Object target,
long offset,
double value) |
void |
putFloat(Object target,
long offset,
float value) |
void |
putFloatVolatile(Object target,
long offset,
float value) |
void |
putInt(long address,
int value) |
void |
putInt(Object target,
long offset,
int value) |
void |
putIntVolatile(Object target,
long offset,
int value) |
void |
putLong(long address,
long value) |
void |
putLong(Object target,
long offset,
long value) |
void |
putLongVolatile(Object target,
long offset,
long value) |
void |
putObject(Object target,
long offset,
Object value) |
void |
putObjectVolatile(Object target,
long offset,
Object value) |
void |
putShort(long address,
short value) |
void |
putShort(Object target,
long offset,
short value) |
void |
putShortVolatile(Object target,
long offset,
short value) |
void |
throwException(Throwable t) |
public sun.misc.Unsafe getUnsafe()
Unsafe's instance.public byte getByte(Object target, long offset)
public void putByte(Object target, long offset, byte value)
public short getShort(Object target, long offset)
public void putShort(Object target, long offset, short value)
public int getInt(Object target, long offset)
public void putInt(Object target, long offset, int value)
public long getLong(Object target, long offset)
public void putLong(Object target, long offset, long value)
public boolean getBoolean(Object target, long offset)
public void putBoolean(Object target, long offset, boolean value)
public float getFloat(Object target, long offset)
public void putFloat(Object target, long offset, float value)
public double getDouble(Object target, long offset)
public void putDouble(Object target, long offset, double value)
public byte getByte(long address)
public void putByte(long address,
byte value)
public short getShort(long address)
public void putShort(long address,
short value)
public int getInt(long address)
public void putInt(long address,
int value)
public long getLong(long address)
public void putLong(long address,
long value)
public void copyMemory(Object srcBase, long srcOffset, Object dstBase, long dstOffset, long bytes)
public void copyMemory(long srcAddress,
long dstAddress,
long bytes)
public byte getByteVolatile(Object target, long offset)
public void putByteVolatile(Object target, long offset, byte value)
public short getShortVolatile(Object target, long offset)
public void putShortVolatile(Object target, long offset, short value)
public int getIntVolatile(Object target, long offset)
public void putIntVolatile(Object target, long offset, int value)
public long getLongVolatile(Object target, long offset)
public void putLongVolatile(Object target, long offset, long value)
public boolean getBooleanVolatile(Object target, long offset)
public void putBooleanVolatile(Object target, long offset, boolean value)
public float getFloatVolatile(Object target, long offset)
public void putFloatVolatile(Object target, long offset, float value)
public double getDoubleVolatile(Object target, long offset)
public void putDoubleVolatile(Object target, long offset, double value)
public int arrayBaseOffset(Class<?> clazz)
public int arrayIndexScale(Class<?> clazz)
public long objectFieldOffset(Field field)
-1 if sun.misc.Unsafe is not
available.public Object allocateInstance(Class<?> clazz) throws InstantiationException
public void throwException(Throwable t)
Copyright © 2021. All rights reserved.