13 lines
569 B
Java
13 lines
569 B
Java
import java.lang.invoke.MethodHandles;
|
|
import java.lang.invoke.VarHandle;
|
|
import java.nio.ByteOrder;
|
|
|
|
/** AFTER: the same access through a byte-array-view VarHandle (JDK 9). Bounds-checked; native byte order to match Unsafe. */
|
|
public final class ViewBytes {
|
|
private ViewBytes() {}
|
|
private static final VarHandle VIEW = MethodHandles.byteArrayViewVarHandle(long[].class, ByteOrder.nativeOrder());
|
|
|
|
public static long get(byte[] a, int off) { return (long) VIEW.get(a, off); }
|
|
public static void put(byte[] a, int off, long v) { VIEW.set(a, off, v); }
|
|
}
|