Java 检查JVM是32位还是64位

Java 检查JVM是32位还是64位

在制作Java程序来检查JVM是32位还是64位之前,我们先讨论一下JVM。

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

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

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

我们可以通过使用两个系统属性’os.arch’和’sun.arch.data.model’来判断JVM是32位还是64位的。还有另一种方法,我们可以通过使用’java –version’在命令行中检查。

getProperty()

在本文中,我们将使用这个方法来获取JVM的详细信息。它存在于System类中。它帮助检索指定参数的系统属性。如果参数存在,则返回一个包含给定参数值的字符串,否则返回null。

语法

System.getProperty(key);

在这里,’key’接受参数。

方法1:使用os.arch

示例

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

在上面的代码中,我们声明了一个字符串变量名为’info’来存储’getProperty()’方法返回的值。

方法2:使用sun.arch.data.model

示例

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

在上面的代码中,我们声明了一个字符串变量名为’info’,用来存储’getProperty()’方法返回的值。在if else块中,我们使用’equals()’方法检查返回的字符串是否等于’64’。’equals()’方法用于比较两个字符串,其返回类型为布尔值,如果两个字符串相等,则返回true,否则返回false。在此情况下,if块为true。因此,它打印了64位。

方法3:使用命令行界面

在您的设备上打开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位JVM中,我们可以指定最大4GB的内存,而64位则具有更大的容量。在本文中,我们讨论了两个Java程序,用于检查JVM是32位还是64位。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程