您好,欢迎访问一九零五行业门户网

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 --versionjava 17.0.6 2023-01-17 ltsjava(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位的详细内容。
其它类似信息

推荐信息