有时候,总想验证一些奇怪的想法,干脆就写下来,以备后查。
想法:java中常用基本类型的字节大小
https://blog.csdn.net/shijinghan1126/article/details/87950953
https://blog.csdn.net/lurunlan/article/details/47151629
一、基本数据类型
1.整型
类型 存储需求 bit数 取值范围
byte 1字节 1*8 (-2的31次方到2的31次方-1)
short 2字节 2*8 -32768~32767
int 4字节 4*8 (-2的63次方到2的63次方-1)
long 8字节 8*8 -128~127
2.浮点型
类型 存储需求 bit数 备注
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
double 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型
3.char类型
类型 存储需求 bit数
char 2字节 2*8
4.boolean类型
类型 存储需求 bit数 取值范围
boolean 1或4字节 1*8 或4*8 false、true
一个byte是8位。
在Java中,一个字符是2个byte字节,一个byte等于8 bit。
在Java中,boolean被当成int处理,所以4个字节。
《Java 基本数据类型boolean在内存中到底占用多少字节》
https://blog.csdn.net/YuanMxy/article/details/74170745
二、一个空对象占用多少个字节?
对于32位的JDK:
new一个Object对象占用4+8=12字节,其中,4个字节是引用,8个字节是堆内存。
2. 对于64位的JDK:
new一个Object对象占用8+16=24字节。其中,8个字节是引用,16个字节是堆内存。
在Hotspot中,每个对象占用的总空间是以8的倍数计算的,对象占用总空间(对象头+声明变量)不足8的倍数时候,自动补齐。而,这些被填充的空间,我们可以称它为“填充物”。
————————————————
版权声明:本文为CSDN博主「shijinghan1126」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shijinghan1126/article/details/87950953