java检查版本

Sometimes we need to check the Java version while executing a java program. We could be developing our project in local machine but deploying at a remote server, so we need to verify java version to make sure our program will work fine.

有时我们需要在执行Java程序时检查Java版本。 我们可能会在本地计算机上开发项目,但会在远程服务器上进行部署,因此我们需要验证Java版本以确保程序正常运行。

如何查看Java版本? (How to Check Java Version?)

We can easily check the java version using the command line. We can use any of the following commands to print the java version.

我们可以使用命令行轻松地检查Java版本。 我们可以使用以下任何命令来打印Java版本。

$java -version
$java --version

java -version will print version to the error stream and exit.

java -version将打印版本到错误流并退出。

java --version will print its version to the output stream and exit.

java --version将其版本打印到输出流并退出。

Note that JDK or JRE bin directory should be in the PATH variable, otherwise you will get an error as java command not found.

请注意, JDK或JRE bin目录应位于PATH变量中,否则将出现错误,因为java command not found

I have Java 8, Java 9 and Java 10 installed on my MacBook, so let’s see what is the result of running java version check command.

我在MacBook上安装了Java 8 , Java 9和Java 10 ,所以让我们看看运行Java version check命令的结果。

Java版本10输出 (Java Version 10 Output)

$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
$

Note that version is of the form $FEATURE.$INTERIM.$UPDATE.$PATCH, so from the above output, we can deduce that Feature is 10, Interim is 0, Update is 1 and Patch is 0.

请注意,版本的形式$FEATURE.$INTERIM.$UPDATE.$PATCH ,因此从上面的输出中,我们可以推断出Feature为10,Interim为0,Update为1和Patch为0。

In the second line, what you see after + is called build number. So the build is 10. Note that this naming convention has come up in Java 10 itself. So it will be slightly different in older java versions.

在第二行中,在+之后看到的内容称为内部版本号。 因此构建为10。请注意,此命名约定已在Java 10本身中提出。 因此,在较早的Java版本中,它会稍有不同。

Java版本9输出 (Java Version 9 Output)

$ java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
$

Java版本8输出 (Java Version 8 Output)

$ cd /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/bin/
$ ./java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
$

Java版本11输出 (Java Version 11 Output)

$ java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
$

我们可以通过编程方式检查Java版本吗? (Can we check java version programmatically?)

What if we want to make sure our code is running on a compatible java version and maybe quit the application if it’s not the case. We can check the java version in the program also. Below code snippets show you how to check java version programmatically.

如果我们想确保我们的代码在兼容的Java版本上运行并且如果不是这种情况,则可能退出应用程序该怎么办? 我们也可以在程序中检查Java版本。 下面的代码片段向您展示了如何以编程方式检查Java版本。

Java 10的Java版本检查代码 (Java Version Check Code for Java 10)

Version version = java.lang.Runtime.version();
System.out.println("Java Version = "+version);
System.out.println("Java Version Feature Element = "+version.feature());
System.out.println("Java Version Interim Element = "+version.interim());
System.out.println("Java Patch Element Version = "+version.patch());
System.out.println("Java Update Element Version = "+version.update());
System.out.println("Java Version Build = "+version.build().get());
System.out.println("Java Pre-Release Info = "+version.pre().orElse("NA"));

Output:

输出:

Java Version = 10.0.1+10
Java Version Feature Element = 10
Java Version Interim Element = 0
Java Patch Element Version = 0
Java Update Element Version = 1
Java Version Build = 10
Java Pre-Release Info = NA

Note that the program output matches with the output from java -version command.

请注意,程序输出与java -version命令的输出匹配。

Java 9的Java版本检查代码 (Java Version Check Code for Java 9)

Version version = java.lang.Runtime.version();
System.out.println("Java Version = "+version);
System.out.println("Java Major Version = "+version.major());
System.out.println("Java Minor Version = "+version.minor());
System.out.println("Java Security Version = "+version.security());
System.out.println("Java Version Build = "+version.build().get());
System.out.println("Java Version Pre-Release Info = "+version.pre().orElse("NA"));

Version class was first introduced in Java 9, in java 10 version major, minor and security properties were deprecated. If we execute above code snippet for Java 9, we get following output:

Version类最初是在Java 9中引入的,在Java 10版本中,不推荐使用major,minor和security属性。 如果我们针对Java 9执行上述代码段,则会得到以下输出:

$ java JavaVersion
Java Version = 9+181
Java Major Version = 9
Java Minor Version = 0
Java Security Version = 0
Java Version Build = 181
Java Version Pre-Release Info = NA

Java 8或以下版本的Java版本检查代码 (Java Version Check Code for Java 8 or below versions)

For Java 8 or below, we can use System properties to get the java version details.

对于Java 8或更低版本,我们可以使用System属性获取Java版本详细信息。

System.out.println(System.getProperty("java.version"));
System.out.println(System.getProperty("java.specification.version"));

Output:

输出:

1.8.0_131
1.8
GitHub RepositoryGitHub存储库下载完整的程序代码

翻译自: https://www.journaldev.com/20930/check-java-version

java检查版本

java检查版本_如何检查Java版本相关推荐

  1. 本地生活JAVA版本_赶集生活java版

    赶集网java版客户端 特色介绍: * 丰富的特色功能:一键拨号.GPS定位.本地收藏.拍照发帖,比电脑还方便. * 全面的服务功能:房屋租售.二手买卖.火车票转让.家政.开锁等全方位服务. * 极致 ...

  2. 检查 ubuntu 版本_如何检查Ubuntu版本–快速简便的方法

    检查 ubuntu 版本 In this tutorial, we will go over the easiest methods to check Ubuntu version from the ...

  3. eclipse选择java版本_使用 Eclipse 开发版本选择和下载说明

    现在越来越多的人开发使用 IDEA,使用 Eclipse 开发的已经渐渐变少了,这篇就简单介绍下 Eclipse 的版本选择和下载,供目前还在坚守使用 Eclipse 开发的同胞们~ Eclipse ...

  4. java 新功能_最新的Java版本101有什么新功能?

    java 新功能 Looking at the constant additions to Java Software Development platform, it won't be wrong ...

  5. java编写正则表达式_如何用Java编写最快的表达式评估器之一

    java编写正则表达式 当然,标题有点吸引人,但确实如此(您当然不相信自己没有伪造自己的基准,但这是另一回事了). 因此,上周我正在寻找一个小型且可用的库来评估数学表达式. 我几乎直接偶然发现了这个s ...

  6. java设计模式并发_[高并发Java 七] 并发设计模式

    [高并发Java 七] 并发设计模式 [高并发Java 七] 并发设计模式 为什么80%的码农都做不了架构师?>>> 在软件工程中,设计模式(design pattern)是对软件设 ...

  7. java 异常机制_深入理解Java异常处理机制

    一.引子 try-catch-finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的"教训"告诉我,这个东西可不是想象中 ...

  8. java 02-cf_cf活动如何设置java环境变量_如何设置java环境变量

    cf助手怎么连接wifi_连接无线网设置 对于刚刚学习java的win7用户来说,首先要学会安装jdk和配置java环境变量,这是学习java的唯一途径,否则编写的代码运行时会出现bug.关于这一点, ...

  9. java在线编译器_什么是Java内存模型

    在知识星球中,有个小伙伴提了一个问题:有一个关于JVM名词定义的问题,说"JVM内存模型",有人会说是关于JVM内存分布(堆栈,方法区等)这些介绍,也有地方说(深入理解JVM虚拟机 ...

最新文章

  1. py编程技巧-1.5-如何快速找到多个字典的公共键(key)
  2. 最小操作系统的代码解释、NASM的初步使用
  3. 柴油发电机组自动控制系统工作原理
  4. stateflow错误:Error in port widths or dimensions.
  5. VS2017简单用法
  6. ASP.NET Core - Razor页面之Handlers处理方法
  7. 检测raid类型和磁盘坏道脚本
  8. 解决重复出现问题的 (LINQ) 方法示例
  9. 商业认知,在创业的时候,有人今天做服装不赚钱,就换了餐饮;换了餐饮业不赚钱,又继续换?
  10. 通过curl访问openstack各服务
  11. 创建和使用约束Constraint
  12. 高斯投影坐标计算例题_利用MAPGIS软件进行投影变换
  13. NSTimer 的正确用法你真的知道吗?
  14. 8086汇编_常用指令
  15. springboot中ehcache的使用
  16. python PDF文件拆分与合并
  17. 路由器网速测试用哪个软件,怎么测网速比较准确,测试网速最准确的办法
  18. 洛谷P4234 最小差值生成树 题解
  19. 求循环群的生成元及子群(不一定对-_-#)
  20. 对接飞鹅接口一直提示未注册

热门文章

  1. GPU+windows 10+vs2013+cuda7.5环境下配置caffe框架
  2. 六处提及区块链!海南自贸港区块链产业应用先行,与“币”划清界限
  3. Helm 国内镜像源加速下载
  4. JetBrain ToolBox 没有右键菜单
  5. Java压力测试工具--Apache JMeter的安装与使用
  6. lable-----qq聊天气泡圆角设置
  7. 居家第四十二天的甜心
  8. 2023 年淘汰 32 位 ARM 将全面转向 64 位 CPU 架构
  9. Django完整增删改查系统
  10. Airpods连接到windows11突然没有声音了(已解决)