Java程序 检查JVM是否为32位或64位

Java程序 检查JVM是否为32位或64位

在编写检查JVM是否为32位或64位的Java程序之前,首先让我们讨论一下JVM。

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

*首先,我们使用扩展名为.java的编译器将Java源代码转换为扩展名为.class的字节码。这发生在编译时。

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

我们可以通过在Java程序中使用两个系统属性“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。在这种情况下,该块为true。因此,它打印了64位。

方法3:使用命令行界面

在您的设备上打开cmd并键入“java –version”。当您按Enter键时,您将根据设备的配置看到结果-

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位的情况下,我们可以指定最大4 GB,但是64位的容量更大。在本文中,我们讨论了两个Java程序,以检查JVM是否为32位或64位。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Java 示例