版本查看Linux上JDK版本的方法(linuxjdk查看)
在Linux系统上查看JDK版本是非常有必要的,因为它支持应用程序的开发,运行和调试。机器使用不同版本中的JDK,因此查看Linux上JDK版本的过程尤为重要。本文将介绍三种查看Linux上JDK版本的方法。
首先,介绍的方法是使用java -version命令查看JDK版本:
$ java -version
java version “1.8.0_211”
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
该命令会返回有关本机安装的Java软件的版本和V开头的build号,这些信息可以用来确定正在使用的正确JDK版本。
另一种查看Linux上JDK版本的方法是使用命令“rpm -qa | grep java”,如下所示:
$ rpm -qa | grep java
jdk-11.0.2-80.i386
java-1.7.0-openjdk-devel-1.7.0.55-2.4.3.3.i386
在这里,返回的(“jdk-11.0.2-80”和“java-1.7.0-openjdk-devel-1.7.0.55-2.4.3.3”)就是系统上使用的JDK版本,jdk-11.0.2-80表示安装的是JDK 11,java-1.7.0-openjdk-devel-1.7.0.55-2.4.3.3表示安装的是JDK 1.7.0。
第三种方法是使用C语言编写的简单程序:
#include
#include //包含头文件
int main()
{
JNIEnv *env; //JNIEnv指针
JavaVM *jvm; //Java虚拟机指针
JavaVMInitArgs vm_args; //虚拟机参数
jint res;
jclass cls;
jmethodID mid;
jstring jstr;
jboolean flane;
//需要传递给JVM的参数
JavaVMOption options[1];
options[0].optionString = “-Djava.class.path=./”;//设置class所在路径
vm_args.version = JNI_VERSION_1_6; //JDK版本
vm_args.options = options;
vm_args.nOptions = 1;
vm_args.ignoreUnrecognized = JNI_TRUE; //忽略无法识别的参数
//初始化虚拟机
res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
if(res != JNI_OK) return 1;
//找到当前的类Main
cls = (*env)->FindClass(env,”java.lang.System”);
if(cls == 0) return 1;
//找到要调用的方法getProperties
mid = (*env)->GetStaticMethodID(env,cls,”getProperty”,”(Ljava/lang/String;)Ljava/lang/String;”);
if(mid == 0) return 1;
//构造要传递给方法getProperties的参数
jstr = (*env)->NewStringUTF(env,”java.version”);
//调用方法
jstring jversion = (*env)->CallStaticObjectMethod(env,cls,mid,jstr);
//打印结果
const char *cversion = (*env)->GetStringUTFChars(env,jversion,&flane);
printf(“JVM 版本:%s\n”,cversion);
return 0;
}
运行后,会输出指定的JDK版本号,如JVM 版本:15。
从上面可以看出,在Linux上查看JDK版本有很多种方法,其中最常用的是使用java -version命令和使用rpm-qa | grep java命令的组合。开发人员也可以使用C语言编写程序来查看Linux上JDK版本,以确保应用程序使用正确的版本。