Java中的字节对齐方式

说到Java的字节对齐方式(ByteOrder),包括两个层面的解释。

一是操作系统层次(或说CPU层次),这个要看是何种OS了,可以使用java.nio.ByteOrder.nativeOrder();方法取得。返回值为:LITTLE_ENDIAN或BIG_ENDIAN。大部分系统为LITTLE_ENDIAN。

另外一个是Java层次,JVM使用了BIG_ENDIAN方式,即数据的高字节,对齐存放到内存的低地址上。

例如:对于0x1234567890abcdef这个long数据,高字节为0x12存放到低地址上,在内存存放的顺序也是(地址从低到高)

12
34
56
78
90
ab
cd
ef

你可能感兴趣的:(Java中的字节对齐方式)