在64位机器上是Java 32位或64位的int的大小?
答案 0 :(得分:84)
32位。它是Java语言功能之一,整数的大小不会随底层计算机而变化。请参阅the relevant section of the spec。
答案 1 :(得分:22)
原始数据的大小是virtual machine specification,的一部分,不会改变。更改的是对象引用的大小,从32位到64位。因此,相同的程序将需要64位JVM上的更多内存。这取决于您的应用程序,但可能很重要。
答案 2 :(得分:9)
如果需要64位整数,请使用long。
答案 3 :(得分:4)
32位。无论运行什么机器或操作系统,Java的运行方式都是相同的,至少原始数据类型也是如此。
答案 4 :(得分:2)
这是“一次编译,随处运行”口号的后果之一:Java执行独立于底层硬件字大小和字节序; JVM以同样的方式工作。
这种独立性保证比抽象操作系统的尝试要好得多; - )
答案 5 :(得分:0)
是的,这是32位
答案 6 :(得分:0)
另一个经常被误解的观点是尺寸 无论如何,这些数据类型总是一样的 我们的程序正在运行的架构。所以你可能正在运行你的 程序在64位机器中,但int将始终是32位 它会有相同的范围。这对C#和C都是如此 Java的。
以下是关于此事的完整文章: