当前位置:首页 > 内存 > 正文

一个int占多少内存

  • 内存
  • 2024-05-03 05:35:20
  • 7686

一、int和integer所占内存大小分别是多少?

int占用4块内存。

一个整数是16个字节。

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

基本数据和包装类:

Java是一种面向对象的语言,基本数据类型通过使用包装类更好地体现了底层一切的概念。关于对象

一般来说,集合中的基类必须是Object类型;因此,在使用该对象之前,必须有一个该对象的包装类。

包装类是引用数据类型,因此它们之间的区别就是基础数据类型和引用数据类型的区别。当反映到记忆中时基本数据类型的值存储在堆栈,包装类的堆栈存储该值的地址,而该值存储在堆内存中。

扩展信息:

Integer类与int的区别:

Integer是int的包装类型,int是八进制数据类型之一。

r是一个类,默认值为0,而Int是一种基本数据类型。

r代表一个对象,是指向该对象的指针;int是一种基本数据类型,直接存储数值。


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

int和integer占用相同的内存,都是4字节。

int和Integer的区别:

类是基本数据类型,而Integer是引用数据类型。

占用4个字节,用于存储int类型的值。Integer占用4个字节,用于存储Integer对象的内存地址。

3.用作成员变量时,int的默认值为0,Integer的默认值为null。

r使用null表示没有创建Integer对象,0表示创建了对象,Integer=0nullprivateintAge;在编写类属性时,建议使用基本数据类型,因为只能存储“值”。

扩展信息

每个32位整数,即四个字节。Integer有一个内存指针,指向方法区中的类信息。该指针占用4字节,而且整型实例变量只有一个int类型字段,所以是32位4字节。

如果不考虑锁、waitset和gc信息的占用,如果是第一种方案,则有4个字节的指向对象池的指针,总共3*4=12字节;这是第二种解决方案。实现平面是一个2*4-8字节的指针。

Ingeter是一个int包装类。int的初始值为0,Ingeter的初始值为null。

标准C语言规定longint(长整数类型)为4字节,shortint(短整数类型)为2字节,int(整数类型)未指定。大多数编译器规定int相当于longint,也有一些编译器规定int相当于shortint。其占用的内存量也可以使用sizeof(int)获得。