有人可以解释Herbert Schildt的这篇文章。
“不应将整数类型的宽度视为金额 它消耗的存储空间,而不是它定义的行为 该类型的变量和表达式。 Java运行时环境 可以自由使用它想要的任何大小,只要类型表现为 你宣布他们。“
答案 0 :(得分:8)
据说是int
并不一定要实现32位的内存块;例如,它可能被实现为64位的内存块。
从代码行为的角度来看,你真的不需要关心这一点:你需要知道的是它的行为就像一个32位的内存块,例如:它只能存储-2^31
和2^31 - 1
之间的值。
如果要存储大量内容,可能需要关心它:如果它们分别存储在64位内存中,则需要两倍的内存,就好像存储在32位内存中一样位。但这并没有改变代码本身的正确性。