int和integer 占用多大内存,是不是一样?不一样到底大多少?

int和integer 占用多大内存,是不是一样?不一样到底大多少?,第1张

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)求得。

int占用4个内存。

integer占用16个字节。

int是基本数据,Integer是包装类。

基本数据和包装类:

java是面向对象语言,基本数据类型并不是一个具体的类,用包装类可以更好的提现万物基于对象这一理念。

集合中的泛型需要基类是Object类型,所以必须有个对象的包装类才能使用。

包装类属于引用数据类型,所以它们之间的区别就是基本数据类型和引用数据类型的区别。反应到内存中,基本数据类型的值是存放在栈里面,而包装类的栈存放的是值得地址,值存放在堆内存中。

扩展资料:

Integer 类和 int 的区别:

1、Integer 是 int 包装类,int 是八大基本数据类型之一。

2、Integer 是类,默认值为null,int是基本数据类型,默认值为0。

3、Integer 表示的是对象,用一个引用指向这个对象,而int是基本数据类型,直接存储数值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6632874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存