让我们先来个简单的入门介绍: 版本名称。
我尝试过去理解Java的版本命名模式,直到这样做的时候才觉得值得去深究一番。它是从 1.0 和 1.1 版本的 JDK 开始的 这俩版本还算是那么回事儿,但这俩版本以后就越来越不那么像话了。版本 1.2 到 1.5 对商标进行了重命名,如 Java 2 这样的,改变比较明显(还记得J2SE 吗? 其实指的就是 2 这个版本)。到了JDK 1.5 就很明显可以看出上述的命令模式没有真正起作用,因此Sun就开始将它叫做 Java 5了。围绕 Java 6,整个自 Java 2 开始的命名创意被悄无声息的埋没了,不过这样反而更让人明白我们简单的叫它“Java X”就可以了。 (你是否知道 Java 版本,包含 Java 7 其实都有一个像Tiger和Mustang 这样很酷的工程名字?)
JVM 所报告的版本字符串并没有做出修改它们总会是 1.x.... 这样的形式,不过现在有了JEP 223, 版本字串和命令模式做了对齐。如果检查相关的系统属性(见这里的demo), 输出会是下面这样的内容: