Java程序检查JVM是32位还是64位
在编写java程序来检查JVM是32位还是64位之前,我们先讨论一下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”来检查它。
获取属性()
在本文中,我们将使用此方法来获取 JVM 的详细信息。它存在于系统类中。它有助于检索指定参数的系统属性。如果参数存在,则返回一个包含给定参数值的字符串,否则返回 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 块中,我们检查返回的字符串是否等于“64”或不使用“equals()”方法。 ‘equals()’方法用于比较两个字符串。它的返回类型是布尔值,如果两个字符串相等则返回 true,否则返回 false。在本例中,if block 为 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 位。
以上就是Java程序检查JVM是32位还是64位的详细内容,更多请关注其它相关文章!