对于Java里的基本类型,
boolean类型在Java虚拟机中被映射为整数类型:“true”,而“false”被映射为0。Java代码中的逻辑运算以及条件跳转,都是用整数相关的字节码来实现的。
除boolean类型之外,Java还有另外7个基本类型。它们拥有不同的值域,但默认在内存中均为0。这些基本类型之中,浮点类型比较特殊。基于它的运算或比较,需要考虑+0.0F,-0.0F以及NaN的情况。
除long和double外,其他基本类型与引用类型在解释执行的方法栈帧中占用的大小是一致的,但它们在堆中占用的大小却不同。在将boolean,byte,char以及short的值存入字段或者数组单元时,java虚拟机会进行掩码操作。在读取时,Java虚拟机则会将其扩展为int类型。