Java程序检查JVM是32位还是64位


在本文中,我们将学习如何确定系统中安装的JVM是32位还是64位。对于此操作,我们使用getProperty() 方法System 类,它有助于检索指定参数的系统属性。

在计算机体系结构中,32位和64位分别指的是那些分别以32位单元和64位单元操作数据的组件。与32位机器相比,64位机器据说速度更快且更安全。

什么是JVM?

JVMJava虚拟机,负责执行字节码。它是 Java运行时环境 (JRE) 的一部分。 Java编程语言 是平台无关的,但JVM是平台相关的。每个操作系统都需要单独的JVM。如果我们有任意Java源代码的字节码,由于JVM的存在,我们可以在任何平台上轻松运行它。Java文件的整个执行过程如下:

  • 首先,我们将Java源代码保存为扩展名为.java的文件,该文件由编译器转换为扩展名为.class的字节码。这发生在编译时。

  • 现在在运行时,JVM读取并验证字节码,为变量分配内存,然后将该字节码转换为机器可读的格式。

如何检查JVM是32位还是64位?

我们可以通过以下方式检查JVM是32位还是64位:

  • 使用os.arch属性
  • 使用sun.arch.data.model属性
  • 使用命令行界面

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

使用os.arch

Java System类的 os.arch 属性返回一个字符串,该字符串表示Java虚拟机(JVM)的体系结构。

示例

在下面的Java程序中,我们通过将 os.arch 属性作为参数传递给getProperty()方法来检查JVM是32位还是64位。

Open Compiler
public class Main { public static void main(String[] args) { String info = System.getProperty("os.arch"); System.out.println(info + "-bit JVM is installed in your device "); } }

运行此代码后,将产生以下结果:

amd64-bit JVM is installed in your device

使用sun.arch.data.model

如果我们将 sun.arch.data.model 属性作为参数值传递给 getProperty() 方法,它将描述系统中安装的当前JVM的配置。

示例

以下Java程序演示了如何使用 sun.arch.data.model 属性验证JVM是32位还是64位。

Open Compiler
public class Main { public static void main(String[] args) { String info = System.getProperty("sun.arch.data.model"); if (info.equals("64")) { System.out.println(info + "-bit JVM is installed in your device "); } else { System.out.println(info + "-bit JVM is installed in your device "); } } }

执行此代码后,将生成以下输出:

64-bit JVM is installed in your device

使用命令行界面

在设备上打开cmd并键入 java --version。按下回车键后,您将看到根据设备配置而产生的结果:

C:\Users\Lenovo>java --version java 17.0.6 2023-01-17 LTS Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190) Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)

结论

JVM是平台相关的机器,它将字节码转换为机器可读的格式。32位和64位JVM之间的主要区别在于内存大小限制。对于32位,我们最多可以指定4GB,而64位则具有更大的容量。在本文中,我们讨论了两个Java程序来检查JVM是32位还是64位。

更新于:2024年8月1日

733 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告