Java面试知识总结要点.pdf
- Java语言中的原始数据类型包括哪些?它们的大小及相应的封装类是什么?
boolean是一种数据类型,仅有true和false两个取值。尽管它只占用1位,但它的大小并没有严格定义。《Java虚拟机规范》指出:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有为boolean值提供专用的字节码指令,Java语言表达式中的boolean值在编译后使用Java虚拟机中的int数据类型来代替,而boolean数组则被编码为Java虚拟机的byte数组,其中每个boolean元素占据8位。” 因此,独立使用boolean类型占用4个字节,在数组中占用1个字节。为什么虚拟机选择使用int来代替boolean呢?为什么不选择byte或short,这样不是更节省内存空间吗?实际上,选择int的原因是,对于当前的32位CPU而言,一次进行32位的数据交换更加高效。综上所述,官方文档对boolean类型的定义为...
用户评论