Unsafe类功能之(3): 获取对象字段的偏移量(jdk使用频繁)

Unsafe类功能之(3): 获取对象字段的偏移量

此类方法在jdk使用频繁


1. 当前对象根据f字段获取偏移量

(jdk中多处用到, 用来获取对象中声明的实例变量-使用变量名)

public native long objectFieldOffset(Field f);

例如: AtomicInteger中获取 value
Unsafe类功能之(3): 获取对象字段的偏移量(jdk使用频繁)_第1张图片
再如: ConcurrentHashMap

Unsafe类功能之(3): 获取对象字段的偏移量(jdk使用频繁)_第2张图片

2.静态字段根据f字段获取偏移量

public native Object staticFieldBase(Field f);

你可能感兴趣的:(java,java并发)