在Java中找出32位或64位的java jdk版本并安装的教程

444 阅读2分钟

我在安装java时遇到了一个问题,就是与我的32位机器不兼容。

这篇博文对检查JVM版本以安装最新的java版本有帮助。

检查32位或64位的Java安装

32位是4字节的大小,而64位是8字节的大小。这意味着64位比32机需要更多的内存。

大多数时候,如果你的代码符合32位JDK版本,那么你只需要在32位机器/64位机器上执行这个类文件。这将编译和执行得很好,但在某些情况下,如果有机器特定的代码,你就会遇到问题,所以在安装JDK版本时要小心。

32位JVM与其他64位主机/框架不兼容,因为我在java 32位上安装Tomcat 64位时遇到了问题。

检查32位JVM或64位JVM的Java程序

我列出了找出32位与64位的方法

按照Sun的规范 ,没有公共的API可以查出32位或64位

有很多方法可以查出32位版本或不是。

一种方法是sun.arch.data.model ,这是JVM中的一个系统属性,它有32位或64位或未知,所以我们必须写一个简单的程序来读取该属性值。

以下是找出比特版本的示例代码

public class BitVersionDemo {  
 public static void main(String args[]) {  
  System.out.println("version ="  
    + System.getProperty("sun.arch.data.model"));  
 }  
}  
  

这意味着我的机器安装的JDK版本是32位的。

在Linux上:-

所以如果你的系统安装的是64位的java,通过运行java -d32命令,它给出的信息如下。

bash-3.2$ java -d32 -version  
Running a 32-bit JVM is not supported on this platform.  

通过执行-d64命令,会显示以下信息

bash-3.2$ java -d64 -version  
java version "1.12.0_1"  
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)  
Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)  

在windows下,"java -d32 -version "会出现错误,所以你可以写上面的例子来找出版本。

如果你想知道参考尺寸是多少,你可以使用Unsafe.addressSize()。注意:这通常是4,因为大多数64位的JVM将使用32位的引用,最多32GB的堆。

总结

总而言之,我们学会了如何使用java程序和命令行查找64位或32位的JDK安装版本。