Java的8种基本数据类型及它们的包装类型占用内存分析

1、Java基本数据类型包括4种整型,2种浮点数类型,1种表示Unicode编码字符单元的字符类型char和1种表示真值的boolean类型。

2、其中占用内存8位的是byte和boolean,16位的是short和char,32位的是int和float,64位的是double和long。

3、每种基本类型都有一个包装类型来把它包装在对象中,如int的包装类型是Integer,char的包装类型是Character。

4、包装之后,对于对象占用内存的计算方法和普通对象的大小计算完全一样,总共内存占用包含3各部分:(1)一个对象有对象头(32位机对象头占用8字节,64位机占用16字节)。(2)对象数据占用大小(Integer对象内部就是int,占用4字节)。(3)padding(需要8字节对齐,总占用没达到8字节倍数的要做填充,如Integer需要填充4字节,Integer在32位机中总共占用16字节,在64位机中总共占用24字节)。

猜你喜欢

转载自www.cnblogs.com/HankTown/p/12764769.html