Unsafe使用技巧之数组操作
1.unsafe = Util.getUnsafe();//初始化unsafe
2.final int base = unsafe.arrayBaseOffset(long[].class);//获取数组头位置
3.final int scale = unsafe.(long[].class);//获取单个数组大小
4.valueOffset = base + (scale * N);//获取第几个元素的偏移量
这样你就可以随意的操作数组里元素
private final long[] arrayLong = new long[15];//实例一个数组
unsafe.compareAndSwapLong(arrayLong , valueOffset, expectedValue, newValue);//修改arrayLong数组偏移量为valueOffset元素的值