当前位置: 首页 > 面试题库 >

整数与整数:关于内存

时宾实
2023-03-14
问题内容

我想知道Integer n和占用的内存是否存在差异 int n

我知道int n通常占用4个字节,怎么样Integer n


问题答案:

通常,热点中的Java对象使用的堆内存包括:

  • 对象标头,由几个字节的“内务处理”信息组成;
  • 存储器为 原始 字段,根据它们的大小(中间体N-> 32位)
  • 用于 参考 字段的存储器(每个4字节)(整数n-> 32位)
  • 填充:可能在对象数据之后一些“浪费”的未使用字节,以使每个对象都从一个方便的字节数开始的地址开始,并减少表示一个对象的指针所需的位数。

根据Mark Peters的建议,我想在下面添加链接
http://www.javamex.com/tutorials/memory/object_memory_usage.shtml



 类似资料:
  • 问题内容: 我有下面的代码 和输出是 我期望输出如下。 当我打印直接int值时,为什么会给出?我期望Java自动将值从零开始转换为八进制。 和之间是什么关系? 问题答案: 前导0表示一个八进制数(以8为底)。 01111(八进制)是1 * 8 ^ 3 + 1 * 8 ^ 2 + 1 * 8 ^ 1 + 1 * 8 ^ 0 = 585(十进制) 将十进制数字1111转换为八进制字符串。八进制2127

  • 平台:Linux 3.2.0 x86(Debian 7.1) 编译器:GCC 4.7.2(Debian 4.7.2-5) 我正在编写一个整数到字符串的转换函数,该函数接受参数的整数值(基数)。整数参数(基数)的有效范围非常小(2-36),小于字符的最大大小。所以我想把参数声明为char,但我必须用所说的参数乘以long-long int,我想知道这到底是怎么回事。我不想将参数声明为char,如果这

  • 我被要求编写一个程序,用Switch-Case语句的自由落体方法,获取1-10之间的5个数字,并找出其中有多少是偶数,有多少是奇数。我已经编写了代码,并且在本地范围内声明了变量,其中存在相同的开关情况,所以我认为这不是块范围的问题。如果数字是奇数(1,3,5,7,9),则奇数计数器变量(oc)递增。偶数也会发生同样的情况。如果数字不在范围内,则打印“无效输入”(它继续,不会中断程序)。 问题是,它

  • 问题内容: 从Java 1.5中,你几乎可以互换使用在许多情况下。 但是,我发现代码中存在潜在的缺陷,这让我有些惊讶。 如下代码: 值相等时,似乎无法正确设置不匹配,尽管我无法确定在什么情况下。我在Eclipse中设置了一个断点,发现值都为137,并且检查了布尔表达式,并说它是假的,但是当我越过它时,它会将不匹配设置为true。 将条件更改为: 解决了问题。 谁能阐明为什么会这样?到目前为止,我只

  • 问题内容: 我有一些想要添加到ArrayList中的值,以跟踪显示的数字。这些值是整数,因此我创建了一个ArrayList; 但是我无法使用此方法将任何东西添加到ArrayList中。如果我使用Strings作为数组列表,它将起作用。我必须将其设置为String数组,然后以某种方式将其转换为整数吗? 编辑:我还有另一个问题。我希望列表仅包含3个值。我该怎么办? 问题答案: 的清单。

  • 问题内容: 在Java中使用标志时,我看到了两种主要方法。使用int值和一组if-else语句。另一个是使用枚举和case-switch语句。 我想知道在使用枚举和整数进行标记之间在内存使用和速度方面是否存在差异? 问题答案: 双方并可以同时使用开关或IF-THEN-ELSE和内存使用情况也是最小的两个,而速度是类似的-有关于你提到的点之间没有显著差异。 但是,最重要的区别是类型检查。被检查,不是