Java--Java version and JDK version

        For Java beginners, I often hear from my colleagues or see that the Java version and the JDK version are different on the Internet. I don’t understand the relationship between the two? In fact, the blogger also had this kind of confusion when he first learned Java. Today we will discuss it carefully. If there is something wrong, please correct it. If you don’t like it, don’t spray it, thank you!

        Java version names: Java6, Java8, Java11, Java13 (current latest version Java17) and other Java version names of "Java X"

        at the same time hear and see

        JDK version name: JDK1.6, JDK1.8 and other "JDK1.X" JDK names.

        Here we need to trace the development of Java, we search for "Java" on Baidu Encyclopedia

        In 1995, Sun Corporation launched Oak for the first time, and changed its name to Java because the Oak trademark had been occupied.

        In January 1996, Sun released Java's first development kit (JDK 1.0), which is the initial version Java1.0.

        In June 1999, Sun released three versions of the second-generation Java platform (referred to as Java2): J2ME (Java2 Micro Edition, a micro version of the Java2 platform), which is used in mobile, wireless and limited resource environments; J2SE ( Java 2 Standard Edition, the Standard Edition of the Java 2 platform), applied to the desktop environment; J2EE (Java 2Enterprise Edition, the Enterprise Edition of the Java 2 platform), applied to Java-based application servers.

        On September 30, 2004, J2SE1.5 was released. In order to express the importance of this version, J2SE 1.5 was renamed Java SE 5.0 (internal version number 1.5.0) , code-named "Tiger", and Tiger included the release of 1.0 from 1996. The most significant update since the release.

        In June 2005, at the Java One conference, Sun released Java SE 6. At this time, the various versions of Java have been renamed, and the number 2 has been cancelled. For example, J2EE has been renamed JavaEE , J2SE has been renamed JavaSE, and J2ME has been renamed JavaME .

        Since the release of JDK1.0 in 1996; it has since been named JDK1.1, JDK1.2, JDK1.3, JDK1.4, and adopted the naming method of 1.X until the version number was upgraded to 5.0 in September 2004. This new version For Java SE5.0 (or J2SE1.5), in June 2005, Sun Company terminated the 8-year-old J2SE, J2EE, and J2ME naming methods and enabled today's Java SE, Java EE, and Java ME naming methods. The subsequent versions are Java SE6, Java SE7, Java SE8, Java SE9, Java SE10, Java SE11, Java SE12... Java SE17, etc.

        JDK corresponds to each version number from Java1.0 to Java9: JDK1.0, JDK1.2 ... JDK1.8, JDK1.9

        Therefore, after Java10, we can understand that the corresponding names of JDK are: JDk10, JDK11, JDK12... JDK17

        We can also see that the official website is named as follows:

Java ® Platform, Standard Edition and Java Development Kit
Version 17 API Specification

This document is divided into two parts:

Java SE

The Java Platform, Standard Edition (Java SE) API defines the core Java platform for general-purpose computing. These APIs are located in names ending in java.

JDK

Java Development Kit (JDK) APIs are JDK-specific and not necessarily available in all implementations of the Java SE platform. These APIs are located in names ending in jdk.

        All versions of Java SE are as follows:

 Java SE version           JDK version            release time          development code    final version
Oak 1995-05-23 Oak (oak tree)
Java 1.0 JDK1.0 1996-01-23 1.0.2
1996-05-07
Java 1.1 JDK1.1 1997-02-18 1.1.8_010
2002-10-09
J2SE 1.2 JDK1.2 1998-12-04 Playground (playground 1.2.2_017
2003-10-02
J2SE 1.3 JDK1.3 2000-05-08 Kestrel (American Kestrel) 1.3.1_29
2010-10-12
J2SE 1.4 JDK1.4 2002-02-13 Merlin 1.4.2_42
2013-02-19
Java SE 5.0 JDK1.5 2004-09-29 Tiger 5.0u85
2015-04-15
Java SE 6 JDK1.6 2006-12-12 Mustang 6u211
2018-10-16
Java SE 7 JDK1.7 2011-07-11 Dolphin 7u321
2021-10-19
Java SE 8 JDK1.8 2014-03-18 Spider (spider) 8u311
2021-10-19
Java SE 9 JDK1.9 2017-09-21 9.0.4
2018-01-16
Java SE 10 JDK10 2018-03-20

10.0.2

2018-07-17

Java SE 11 JDK11 2018-09-25 11.0.13
2021-10-19
Java SE 12 JDK12 2019-3-19 12.0.2
2019-07-16
Java SE 13 JDK13 2019-09-19 13.0.2
2020-01-14
Java SE 14 JDK14 2020-03-17 14.0.2
2020-07-14
Java SE 15 JDK15 2020-09-15 15.0.2
2021-01-19
Java SE 16 JDK16 2021-03-16 16.0.2
2021-07-20
Java SE 17 JDK17 2021-09-14 17
2021-09-14

 The Java official website is as follows:

Java release history

This page tracks widely distributed Java SE releases and links to key information for each release.

Currently supported versions

Version initial issue current version Version Information end of life
17 2021-09-14 17
2021-09-14
Open the JDK project page
JSR 392
2029-09-30
11 2018-09-25 11.0.13
2021-10-19
发行说明
文档
认证配置
风险表
打开 JDK 项目页面
JSR 384
2026-09-30
8 2014-03-18 8u311
2021-10-19
发行说明
文档
认证配置
风险表
JSR 337
2030-12-31
7 2011-07-11 7u321
2021-10-19
发行说明
文档
认证配置
风险表
JSR 336
2022-07-19

未来版本

版本 初始发行 版本信息
18 2022-03-15 打开 JDK 项目页面
JSR 393

不再受支持的版本

版本 初始发行 最终版本 版本信息
16 2021-03-16 16.0.2
2021-07-20
发行说明
文档
认证配置
风险表
打开 JDK 项目页面
JSR 391
15 2020-09-15 15.0.2
2021-01-19
发行说明
文档
认证配置
风险表
打开 JDK 项目页面
JSR 390
14 2020-03-17 14.0.2
2020-07-14
发行说明
文档
认证配置
风险表
打开 JDK 项目页面
JSR 389
13 2019-09-19 13.0.2
2020-01-14
发行说明
文档
认证配置
风险表
打开 JDK 项目页面
JSR 388
12 2019-03-19 12.0.2
2019-07-16
发行说明
文档
认证配置
风险表
打开 JDK 项目页面
JSR 386
10 2018-03-20 10.0.2
2018-07-17
发行说明
文档
认证配置
风险表
打开 JDK 项目页面
JSR 383
9 2017-09-21 9.0.4
2018-01-16
发行说明
文档
认证配置
风险表
JSR 379
6 2006-12-12 6u211
2018-10-16
发行说明
文档
认证配置
风险矩阵
JSR 270
5 2004-09-30 5.0u85
2015-04-15
发行说明
文档
认证配置
风险表
JSR 176
4 2002-02-13 1.4.2_42
2013-02-19
发行说明
风险矩阵
JSR 59
3 2000-05-08 1.3.1_29
2010-10-12
发行说明
风险矩阵
2 1998-12-04 1.2.2_017
2003-10-02
1 1997-02-18 1.1.8_010
2002-10-09
0 1995-05-23 1.0.2
1996-05-07

Java是面向对象的编程语言,在我们开发Java应用的程序员的专业术语里,Java这个单词其实指的是Java开发工具,也就是JDK(Java Development Kit)。所以我们常常在CSDN等各大程序员论坛讨论到安装Java8或者JDK8或者JDK1.8或J2SE8或J2SE1.8或J2SE8或J2SE1.8,其实这3个专业词汇的概念是一样的。

        我们以Java8(JDK1.8举例说明)

(1)Java与JDK的区别与关系

在用户眼中,Java是Java应用;

在程序员眼中,Java是Java开发工具,所以Java等价于JDK。

(2)JDK8与JDK1.8的区别与关系

JDK8或者JDK1.8是由于自从JDK1.5/JDK5命名方式改变后遗留的新旧命令方式问题。所以JDK8或者JDK1.8也是同一个东西

(3)JDK与J2SE的区别与关系

JAVA就是指JDK开发工具,所以我们可以理解为JAVA等价于JDK。又因为JAVA有3个版本:J2SE J2EE J2ME,所以J2SE是JDK的3个版本中的其中一个,即标准版本。

简而言之:我们口中说的 Java8、JDK8、JDK1.8 其实都是同一个东西。

Java术语,下图来自《Java核心技术》卷1 第2章 2.1.1

    你已经看到, JDK 是 Java Development Kit 的缩写。有点混乱的是: 这个工具包的版本
1.2 ~ 版本 1.4 被称为 Java SDK (软件开发包, Software Development Kit )。 在某些场合下,
还可以看到这个过时的术语。另外, 还有一个术语是 Java 运行时环境( JRE ), 它包含虚拟机
但不包含编译器。这并不是开发者想要的环境, 而是专门为不需要编译器的用户而提供。
接下来, Java SE 会大量出现, 相对于 Java EE ( Enterprise Edition) 和 Java ME ( Micro
Edition ), 它是 Java 的标准版。
    Java 2 这种提法始于 1998 年。当时 Sun 公司的销售人员感觉增加小数点后面的数值改
变版本号并没有反映出 JDK 1.2 的重大改进。但是,由于在发布之后才意识到这个问题, 所
以决定开发工具包的版本号仍然沿用 1.2, 接下来的版本是 1.3、 1.4 和 5.0, 但是, Java 平台
被重新命名为 Java 2。因此, 就有了 Java 2 Standard Edition Software Development Kit ( Java 2
标准版软件开发包)的 5.0 版,即 J2SE SDK 5.0。
    幸运的是,2006 年版本号得到简化。 Java 标准版的下一个版本取名为 Java SE 6, 后来
There's Java SE 7 and Java SE 8 again. However, the "-build" version numbers are 1.6.0, 1.7.0, and 1.8.0, respectively.
When Oracle makes some minor version change to fix some urgent problem, it is called an update. For example: Java
SE 8u31 is the 31st update of JavaSE 8 and its build number is 1.8.0_31. The update does not need to be installed
over the previous version, it will contain the latest version of the entire JDK. Also, not all updates are released publicly, so
don't panic if "Update 31" doesn't come after "Update 32".
 
----Quoted from "Java Core Technology" Volume 1 Chapter 2 2.1.1

Can refer to:

Java release history

Java (computer programming language)

The problem of JAVA version number Java version number and JDK version_renhq-CSDN blog_java version and jdk version

Guess you like

Origin blog.csdn.net/MinggeQingchun/article/details/120578602