属性 java.runtime.version 和 java.version 有什么区别

出于日志记录目的,我在Java程序运行时将Java版本写入日志中。

我发现我可以得到版本

System.getProperty("java.runtime.version") -> 1.8.0_202-b08

System.getProperty("java.version") -> 1.8.0_202

结果显然缺少其他“构建”信息,但除了结果之外,还有其他区别吗?在我应该使用第一个选项而不是第二个选项的任何特定情况下?


ABOUTYOU
浏览 325回答 3
3回答

慕容森

System Property Name | System Property Content  | Where Displayed in java version Output---------------------|--------------------------|---------------------------------------java.version         | product version          | Line one displays the product version---------------------|--------------------------|---------------------------------------java.runtime.version | product version          | Line one displays the product version                     | product build identifier | Line two displays the build identifier从 J2SE SDK/JRE 版本字符串命名约定文档中:可以扩展系统属性的内容(超出 java.version 系统属性的内容)以包含构建 ID。java.runtime.version因此,属性值似乎可以等于内容,也可以通过构建 ID 进行区分,如问题中已指出的那样。java.runtime无论如何,如前所述,如前所述,该属性不会出现在当前记录的系统属性中。java.runtime.version

萧十郎

java.version是 Java 运行时环境 (JRE) 的产品版本信息。JRE是Java虚拟机的实现,它实际上执行Java程序。java.runtime.version是产品版本以及 JRE 的构建标识符。

富国沪深

一个是JDK版本,java.version,顾名思义,另一个是JRE版本,R用于运行时
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java