一、大小端模式概念
Java中命名的数据在系统的内存中的存放方式分为大端、小端模式。如下图:
int a = 0x12345678;
不同的模式存放方式:
三、Java测试系统大小端
/**
* 测试系统的大小端模式
* 大端模式:数据按照顺序存放在内存字节中
* 小端模式:数据和大端模式存放数据方式相反
* 如int值12345678,占用内存4个字节,每个字节占用8个位,每个数字占用4个位;
* 大端模式内存存放顺序:12、34、56、78
* 小端模式:78、56、34、12
*
* @return
*/
public static boolean isBigSystemBigLittleEndian () {
/*
//Java提供现成的测试方法
if(ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) {
return true;
}
else {
return false;
}
*/
int a = 0x12345678;
byte b = (byte)a;
return b == 0x12;
}
说明:Java提供现成技术获取系统采用大小端模式,如代码中的ByteOrder类,底层依赖Java的Unsafe类