严格来说,Java不算是纯粹的面向对象语言,它引入了八个基本类型,来支持数值计算,因为这能在执行效率以及内存使用上有所提升。
- 在Java虚拟机中,boolean类型被映射成int类型,false为0,true为1。这是一个正向的映射过程,不能反向认为0为假,1为真,除非你直接修改字节码文件,否则不能逆向推
- Java的基本类型都有对应的值域和默认值
- 在局部变量区中,boolean char byte short和int一样,占用的空间相同。32位hotspot中为4字节,64位hotspot中为8字节
- char boolean在加载时伴随着零扩展。如:在加载char时,会将其复制到int类型的低二位字节,高二位字节用0填充,若为负,则高二位用1填充