【发布时间】:2011-12-07 17:36:57
【问题描述】:
我想知道是否有不同的内存占用
Integer n 和 int n。
我知道int n正常占用4个字节,Integer n呢
【问题讨论】:
-
唯一可能的答案是“视情况而定”。
-
与stackoverflow.com/questions/76549/… 相关,虽然不是严格意义上的重复。
-
@KerrekSB 你能否详细说明为什么“这取决于?”
-
@craig:因为正如您在回答中所暗示的那样,这完全取决于 JVM 实现它希望为这些事情中的每一个占用多少堆空间。如果我没记错的话,没有什么可以阻止兼容的 JVM 将
int存储为 128 位,只要该决定不会泄露到托管程序。你只知道int和Integer的“宽度”是一样的;它们都可以表示相同数量的值。