发布网友 发布时间:2023-11-04 16:32
共1个回答
热心网友 时间:2024-11-15 22:35
int和integer 占用内存一样,都是4个字节。
int与Integer的不同点:
1、int类基本数据类型,而Integer为引用数据类型。
2、int占4个字节,用于存储int类型的值, Integer占4个字节,用于存储Integer对象的内存地址。
3、作为成员变量时,int的默认值为0,Integer的默认为null。
4、Integer使用null表示没有创建Integer对象,使用0代表已创建对象,值为0,Integer i=0;Integer i=null;private int age; 在写类的属性时,建议使用基本数据类型,因为只存"值"即可。
扩展资料
每个integer 32bit,也就是四个字节。integer在内存中有一个指向方法区里边类信息的指针,这个指针占用4bytes;另外integer中实例变量只有一个int类型的字段,所以为32位,4bytes。
在不考虑lock、wait set、gc相关信息占用的时候,如果是第一种方案,有4bytes的指向对象池的指针,一共是3*4=12bytes;如果是第二种实现方案,则是2*4-8bytes的指针。
Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。
标准C语言规定long int(长整型)是 4字节,short int(短整型)是2字节,没有规定int(整型)。大多数编译器自行规定int等价long int,少数编译器规定int等价short int,占用多大内存,也可以用 sizeof(int)求得。