Java 简明教程

Java - History

History of Java

Java 编程语言最初由 Sun Microsystems 开发,由 James Gosling 发起,并于 1995 年作为 Sun Microsystems Java 平台(Java 1.0 [J2SE])的核心组件发布。Java 的命名历史非常有趣。它曾用过很多名字。

Java Name History

GreenTalk

James Gosling 领导了一个名为“绿色”的团队。这个团队的目标是创建可以的新项目。最初是开发该项目的初始选择。James Gosling 想增强 C 来实现这个目标,但由于内存使用量较高,该想法被否决,并且团队最初使用一种名为 GreenTalk 的新语言开始。使用的文件扩展名为 .gt。后来,这种语言被称为 Oak,最终成为了 Java。

Oak

James Gosling 将语言重命名为 Oak。他的办公室前面有一棵橡树。James Gosling 使用这个名字是因为 Oak 代表团结,而橡树是美国、法国、罗马尼亚等多个国家的国树。但 Oak 技术已经将 Oak 注册为商标,James 团队不得不为该语言集思广益想出另一个标题。

Finally Java

团队提出了多个名称,如 DNA、Silk、Ruby 和 Java。Java 最终由团队敲定。James Gosling 根据浓缩咖啡豆的类型提出了 Java 名称。爪哇是印度尼西亚的一个岛屿,在那里发现了被称为爪哇咖啡的新咖啡。根据 James Gosling 的说法,Java 是 Silk 的首选之一。最终选择 Java,因为它非常独特,代表了动态、革命性和有趣的说法。

Sun 于 1995 年发布了第一个公共实施版本 Java 1.0。它承诺*Write Once, Run Anywhere*(WORA),提供了在流行平台上免费运行时。

2006 年 11 月 13 日,Sun 根据 GNU 通用公共许可证 (GPL) 的条款发布了大部分 Java 作为自由和开放源代码软件。

2007 年 5 月 8 日,Sun 完成了该过程,使 Java 的所有核心代码成为自由和开源,除了 Sun 没有持有其版权的一小部分代码。

最新发布的 Java Standard Edition 是 Java SE 21。随着 Java 的进步及其广泛的普及,构建了多种配置以适应各种类型的平台。例如:用于企业应用程序的 J2EE,用于移动应用程序的 J2ME。

Java Versions History

在近 30 年的时间里,Java 已经发布了许多小版本和主要版本。以下是迄今为止 Java 版本的简要说明。

Sr.No.

Version

Date

Description

1

JDK Beta

1995

Initial Draft version

2

JDK 1.0

23 Jan 1996

稳定版本 JDK 1.0.2 被称为 JDK 1

3

JDK 1.1

19 Feb 1997

在此版本中添加了主要功能,如、、、。

4

JDK 1.2

8 Dec 1998

将、、Java 模块、、引入到 JAVA 中,并且此版本非常成功。

5

JDK 1.3

8 May 2000

添加了 HotSpot 、JNDI、JPDA、JavaSound 和对合成代理类的支持。

6

JDK 1.4

6 Feb 2002

添加了用于创建/读取 JPEG/PNG 图像的图像 I/O API。其他重要更新包括集成的和 XSLT 处理器 (JAXP) 和首选项 API。

7

JDK 1.5 或 J2SE 5

30 Sep 2004

各种新特性被添加到语言中,如 foreach、var-args、泛型等。

8

JAVA SE 6

11 Dec 2006

[style="arabic"]1. 取消了 SE 中的符号,对 JAXB2.0 进行了升级,增加了 JSR 269 支持和 JDBC 4.0 支持。

9

JAVA SE 7

7 Jul 2011

为 JVM 添加了对动态语言的支持。其他增强项包括 switch case 中的字符串、压缩的 64 位指针等。

10

JAVA SE 8

18 Mar 2014

添加了对泛型编程的支持。引入了 Lambda 表达式、流式处理、默认方法和新的日期时间 API。

11

JAVA SE 9

21 Sep 2017

引入可应用于 JVM 平台的模块系统。

12

JAVA SE 10

20 Mar 2018

添加了 Unicode 语言标记扩展。引入根证书、线程本地握手、对备用内存设备上堆分配的支持等。

13

JAVA SE 11

5 Sep 2018

增加了动态类文件常量、一个非操作垃圾收集器 Epsilon、lambda 参数中的局部变量支持、低开销堆分析支持。

14

JAVA SE 12

19 Mar 2019

增加了实验性垃圾回收器 Shenandoah:一种低暂停时间垃圾回收器、微基准套件、JVM 常量 API。

15

JAVA SE 13

17 Sep 2019

增加了文本块(多行字符串)、增强线程本地握手之类的特性。

16

JAVA SE 14

17 Mar 2020

增加的特性 – Records,用于造型的新类类型、instanceof 的模式匹配、直观的 NullPointerException 处理。

17

JAVA SE 15

15 Sep 2020

增加新的特性 - Sealed 类、隐藏类、外部函数和内存 API(孵化)。

18

JAVA SE 16

16 Mar 2021

以预览形式增加的特性 - Records、对于 switch 的模式匹配、Unix 域套接字通道(孵化)等。

19

JAVA SE 17

14 Sep 2021

以最终版本形式增加的特性 - Sealed 类、instanceof 的模式匹配、默认情况下强封装 JDK 内部。新的 macOS 渲染管道等。

20

JAVA SE 18

22 Mar 2022

增加的特性 - 默认情况下 UTF-8、Java API 文档中的代码片段、向量 API(第三次孵化)、外部函数、内存 API(第二次孵化)等。

21

JAVA SE 19

20 Sep 2022

增加的特性 - 记录模式、向量 API(第四次孵化)、结构化并发(孵化)等。

22

JAVA SE 20

21 Mar 2023

增加的特性 - 作用域化值(孵化)、记录模式(第二次预览)、switch 的模式匹配(第四次预览)、外部函数和内存 API(第二次预览)等。

22

JAVA SE 21

19 Sep 2023

增加的特性 - 字符串模板(预览)、序列集合、代际 ZGC、记录模式、switch 的模式匹配等。