如何判断我编写的程序是32位还是64位?

时间:2017-08-13 14:51:27

标签: java cpu processor

我在java中编写了一些程序,但我想知道它们是32位还是64位,我的意思是它如何在32位计算机上运行,​​如果它是64位?

4 个答案:

答案 0 :(得分:4)

  

我在java中编写了一些程序,但我想知道它们是32位还是64位

都不是。您的Java程序不是特定的32位或64位。

所有Java程序都应该在每个最新的Java实现上运行。

当你编译一个java程序时,它变成了Java bytecode,它通常独立于你编译它的平台以及你运行它的平台。

这个问题应该为您解答一些问题:Java 32-bit vs 64-bit compatibility

虽然64位Java实现可能会更好地处理某些64位操作,但程序的行为应该没有区别(假设您没有使用需要64位实现的库)。

答案 1 :(得分:2)

编译的Java程序独立于系统体系结构。 在案例中,如果要检查某些特定情况的JVM位大小,可以使用

System.out.println("JVM Bit size: " + System.getProperty("sun.arch.data.model"));

答案 2 :(得分:1)

由JRE决定。存在32位版本的JRE和64位版本。

答案 3 :(得分:1)

一般来说,我们从不编写可以说是32位或64位的代码。 它实际上取决于JRE和机器。 其余的东西由JVM和CPU管理。

例如,如果我们在32位机器上使用64位原语,如long或double 那么即使像long var = 10l;这样的赋值操作也不会是原子操作。它会发生在32位的两个阶段。

但相同的赋值操作将是64位的原子操作。