是这样子的,因为JAVA要跨平台,所以对数据的二进制表示要统一.
在我们一般用的X86的体系的电脑上,数据在内存中是按"高高低低"的规则存放的,就是说高位数据存放在高位地址中,低位数据放在地位地址.
而在JAVA虚拟机中的实现正好相反,低位数据放在高位地址,高位数据放在低位地址,和SUN的Solaris的实现一样.
到了JAVA虚拟机执行的时候又会变成和具体平台相关的二进制结构.