int和integer 占用内存一样,都是4个字节。
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是基本数据类型,直接存储数值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)