public class Unsafe extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
intArray_BUFFER_PAD |
static int |
longArray_BUFFER_PAD |
static int |
objArray_BUFFER_PAD |
static sun.misc.Unsafe |
theUnsafe |
| 构造器和说明 |
|---|
Unsafe() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <T> T |
allocateInstance(Class<?> cls) |
static int |
compareBooleanFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static int |
compareByteFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static int |
compareCharFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static int |
compareDoubleFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static int |
compareFloatFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static int |
compareIntFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static int |
compareLongFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static int |
compareShortFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static void |
copyBooleanFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static void |
copyByteFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static void |
copyCharFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static void |
copyDoubleFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static void |
copyFloatFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static void |
copyIntFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static void |
copyLongFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static void |
copyRefFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static void |
copyShortFieldOfObject(Object fromObj,
Object toObj,
long fieldOffset) |
static boolean |
getBooleanFieldOfObject(Object obj,
long fieldOffset) |
static byte |
getByteFieldOfObject(Object obj,
long fieldOffset) |
static char |
getCharFieldOfObject(Object obj,
long fieldOffset) |
static double |
getDoubleFieldOfObject(Object obj,
long fieldOffset) |
static long |
getFieldOffset(Field field) |
static long |
getFieldOffset(String type,
String field) |
static float |
getFloatFieldOfObject(Object obj,
long fieldOffset) |
static int |
getIntFieldOfObject(Object obj,
long fieldOffset) |
static long |
getLongFieldOfObject(Object obj,
long fieldOffset) |
static Object |
getObjectFieldOfObject(Object obj,
long fieldOffset) |
static short |
getShortFieldOfObject(Object obj,
long fieldOffset) |
static char[] |
getValueOfString(String str) |
static byte |
getVolatile(byte[] array,
int idx) |
static void |
loadFence() |
static void |
setBooleanFieldOfObject(Object obj,
long fieldOffset,
boolean value) |
static void |
setByteFieldOfObject(Object obj,
long fieldOffset,
byte value) |
static void |
setCharFieldOfObject(Object obj,
long fieldOffset,
char value) |
static void |
setDoubleFieldOfObject(Object obj,
long fieldOffset,
double value) |
static void |
setFloatFieldOfObject(Object obj,
long fieldOffset,
float value) |
static void |
setIntFieldOfObject(Object obj,
long fieldOffset,
int value) |
static void |
setLongFieldOfObject(Object obj,
long fieldOffset,
long value) |
static void |
setObjectFieldOfObject(Object obj,
long fieldOffset,
Object value) |
static void |
setShortFieldOfObject(Object obj,
long fieldOffset,
short value) |
static void |
setVolatile(byte[] array,
int idx,
byte value) |
static void |
storeFence() |
public static sun.misc.Unsafe theUnsafe
public static int objArray_BUFFER_PAD
public static int intArray_BUFFER_PAD
public static int longArray_BUFFER_PAD
public static void storeFence()
public static void loadFence()
public static long getFieldOffset(String type, String field) throws Exception
Exceptionpublic static long getFieldOffset(Field field)
public static void setObjectFieldOfObject(Object obj, long fieldOffset, Object value)
public static void setBooleanFieldOfObject(Object obj, long fieldOffset, boolean value)
public static void setByteFieldOfObject(Object obj, long fieldOffset, byte value)
public static void setCharFieldOfObject(Object obj, long fieldOffset, char value)
public static void setShortFieldOfObject(Object obj, long fieldOffset, short value)
public static void setIntFieldOfObject(Object obj, long fieldOffset, int value)
public static void setFloatFieldOfObject(Object obj, long fieldOffset, float value)
public static void setLongFieldOfObject(Object obj, long fieldOffset, long value)
public static void setDoubleFieldOfObject(Object obj, long fieldOffset, double value)
public static byte getByteFieldOfObject(Object obj, long fieldOffset)
public static short getShortFieldOfObject(Object obj, long fieldOffset)
public static char getCharFieldOfObject(Object obj, long fieldOffset)
public static int getIntFieldOfObject(Object obj, long fieldOffset)
public static float getFloatFieldOfObject(Object obj, long fieldOffset)
public static long getLongFieldOfObject(Object obj, long fieldOffset)
public static double getDoubleFieldOfObject(Object obj, long fieldOffset)
public static boolean getBooleanFieldOfObject(Object obj, long fieldOffset)
public static char[] getValueOfString(String str)
public static <T> T allocateInstance(Class<?> cls)
public static void copyByteFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static void copyCharFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static void copyShortFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static void copyIntFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static void copyLongFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static void copyFloatFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static void copyDoubleFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static void copyBooleanFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static void copyRefFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static int compareByteFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static int compareShortFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static int compareCharFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static int compareIntFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static int compareLongFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static int compareFloatFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static int compareDoubleFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static int compareBooleanFieldOfObject(Object fromObj, Object toObj, long fieldOffset)
public static void setVolatile(byte[] array,
int idx,
byte value)
public static byte getVolatile(byte[] array,
int idx)
Copyright © 2021. All rights reserved.