繁体   English   中英

在64位机器上,Java的大小是32位还是64位?

[英]On a 64-bit machine is the size of an int in Java 32 bits or 64 bits?

在64位机器上,Java的大小是32位还是64位?

32位。 它是Java语言功能之一,整数的大小不会随底层计算机而变化。 请参阅规范的相关部分

原始数据的大小是虚拟机规范的一部分,并且不会更改。 更改的是对象引用的大小,从32位到64位。因此,相同的程序将需要64位JVM上的更多内存。 这取决于您的应用程序,但可能很重要。

如果需要64位整数,请使用long。

32位。 无论运行什么机器或操作系统,Java的运行方式都是相同的,至少对原始数据类型来说也是如此。

这是“一次编译,随处运行”口号的结果之一:Java执行独立于底层硬件字大小和字节序; JVM以同样的方式工作。

这种独立性保证比抽象操作系统的尝试要好得多;-)

另一个通常被误解的观点是,无论我们的程序运行的架构如何,这些数据类型的大小总是相同的。 所以你可能在64位机器上运行你的程序,但int总是32位长,所以它将具有相同的范围。 对于C#和Java都是如此。

这是关于此事的完整文章:

Java和C#中的集成数据类型。

是的,这是32位

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM