腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

  • 因为在虚拟机规范中说了,boolean值在编译之后都使用Java虚拟机中的int数据类型来代替,而int是4个字节,那么boolean值就是4个字节。
  • boolean类型数组的访问与修改共用byte类型数组的baload和 bastore指令,因为两者共用,只有两者字节一样才能通用呀,所以byte数组中一个byte是1个字节,那么boolean数组中boolean是1个字节。
  • 总结:boolean在数组情况下为1个字节,单个boolean为4个字节。

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

腾讯问我Java中boolean类型占几个字节?我说一个,面试官让我gun

References:[1] 官方文档的描述: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html[2] what-is-the-size-of-a-boolean-variable-in-java: https://stackoverflow.com/questions/383551/what-is-the-size-of-a-boolean-variable-in-java[3] 所以1个字节、4个字节都是有可能的: https://blog.csdn.net/makingadream/article/details/53100237

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注