一个字节:八位
各类型所占字节:
byte: 1字节,
char:2字节
short:2字节
int: 4字节
float:4字节
long:8字节
double:8字节
Boolean:在实际存储中是用int数据类型代替
Boolean:在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。
那虚拟机为什么要用int来代替boolean呢?为什么不用byte或short,这样不是更节省内存空间吗。大多数人都会很自然的这样去想,我同样也有这个疑问,经过查阅资料发现,使用int的原因是,对于当下32位的处理器(CPU)来说,一次处理数据是32位(这里不是指的是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。
作者:马剑威
链接://www.greatytc.com/p/2f663dc820d0
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。