Java 编程语言从诞生到如今数十年,当初承诺的 “一次编写,多处运行”(write once, run anywhere - WORA) 口号使得它成为软件开发中的首选编程语言之一,诞生后不久便幸运的遇到了互联网时代,使得 Java 更加的受到欢迎。

本文回溯 Java 编程语言的整个历史,以更加清晰的了解 Java 这门语言的发展。

诞生

在 1991 年 6 月份,Sun 公司(已被 Oracle 于 2009 年 4 月 20 日收购)的 James Gosling, Patrick Naughton, Chirs Warth, Ed Frank 和 Mike Sheridan 开始了 Java 编程语言的创建。

最初,Java 这门语言被叫做 ”Oak“,它是一 Gosling 办公室窗外的一颗橡胶树命名而来。后来被命名为”Green“,直到最后被叫做如今的 Java,它是以一种叫做 Java 的咖啡而来。

第一个可以工作的版本(1992 年秋天)花了大约 18 个月才最终完成。而 Java 正式对外宣布,则是在 1995 年的春季。

JDK 1.0

第一个发布的版本于 1996 年 1 月 23 日问世,通常我们所说的 Java 1 实际上指的是 JDK 1.0.2。

JDK 1.1

Java 1.0 发布后不久,在 1997 年 2 月 19 日 JDK 1.1 对外正式发布。这个版本相较于之前的 1.0 版本,添加了许多类库以及修正了 1.0 的一些设计。 JavaBeans,JDBC,RMI 也是于这个版本添加。

J2SE 1.2

Java 2,于 1998 年 12 月 18 日发布。开发代号 Playground

从这个版本开始,一直到 J2SE 5.0,Sun 重新命名了 Java 系列产品为 J2SE(Java 2 Platform, Standard Edition) 代替了之前一直叫的 JDK。

Java 2 开启了 Java 的现代化纪元,扩大了 Java 平台的规模:约莫 59 个 package,包含 1520 个类,是之前版本的 3 倍多。

一些重大的更新包括:

  • Swing。GUI API 被添加为 Java 核心类库。
  • JVM 第一次包含了 JIT 编译器。
  • 集合类库。
  • Thread 类中的 suspend()resume()stop() 方法被弃用。

J2SE 1.3

Java 3 于 2000 年 5 月 8 日问世。相较于之前的版本,这是一个相对比较小的更新版本。开发代号 Kestrel

一些重大的更新包括:

  • JNDI(Java Naming and Directory Interface) 被添加到核心类库。
  • JavaSound

J2SE 1.4

Java 4 于 2002 年 2 月 6 日问世。开发代号 Merlin

这是第一个遵照 JSR(Java Community Process) 开发的版本,继续对之前的版本做了增强。它于前面版本基本是源代码完全兼容的。

一些重大的更新包括:

  • asset 关键字。
  • 正则表达式。沿袭 Perl 的正则表达式设计。
  • 异常可以嵌套更底层的异常(Exception chaining)。
  • 图像处理 API。

J2SE 5.0

Java 5 于 2004 年 9 月 30 日问世。开发代号 Tiger

由于 Java 5 增加了许多非常重大的更新,相较于之前的版本可谓是极大的改进,Sun 公司直接将本版本从 1.4 改成了 5.0。为了与以前版本的一致性,Sun 公司决定依然使用 1.5 为内部版本,即是通常所说的开发者版本号(developer version number)。Java 的对外产品版本号改为 J2SE 5。

一些重大的更新包括:

  • 泛型。
  • 注解(annotations)。
  • 自动装箱拆箱。
  • 枚举类型。
  • for-each
  • 并行类库。

Java SE 6

Java 6 于 2006 年 12 月 11 日发布。开发代号 Mustang

Sun 公司再次祭出了改名大法:J2SE 中的 2 被去掉了。新的产品名称被叫做 Java SE 6(Java Platform, Standard Edition 6),JDK 则被叫做 JDK 6,而内部开发版本号为 1.6。

Java 6 没有添加比较重大的 feature,它主要是增强了已经存在的 API 类库,添加了几个新的包以及改进了运行时。

Java SE 7

Java 7 于 2011 年 7 月 7 日发布,于 2011 年 7 月 28 日对开发者开放。开发代号 Dolphin

JDK 版本为 JDK 7,内部开发版本号为 1.7。Java 7 是 Sun 公司被 Oracle 收购后,Oracle 主导的第一个 Java 版本。

一些重大的更新包括:

  • JVM 支持动态语言。
  • switch 语句支持字符串。
  • 通过 try 语句,支持资源的自动释放。
  • 同时捕获多个异常。

Java SE 8

Java 8 于 2014 年 3 月 18 日发布。开发代号 Spider

JDK 版本为 JDK 8,内部开发版本号为 1.8。feature 第一次以 JEPs(JDK Enhancement Proposals) 的形式组织。

一些重大的更新包括:

  • lambda 表达式。
  • 日期和时间的 API。

Java SE 9

Java 9 于 2017 年 9 月 21 日发布。

JDK 版本为 JDK 9,内部开发版本号为 9。

一些重大的更新包括:

  • 模块化(modules)。
  • jshell。
  • HiDPI 的支持。

Java SE 10

Java 10 于 2018 年 3 月 20 日发布,包含了 12 个新的 feature。