一、前言
通过上一节,我们对整个java的技术体系有了一定的了解。 这一节我们来看下Java的发展史。
二、Java发展史
1.时间线
序号 | 发布日期 | JDK 版本 | 新特性 | 详细说明 |
---|---|---|---|---|
0 | 1991.04 | Oak | 1991.04,由 James Gosling 博 士 领 导 的 绿 色 计 划( Green Project)开 始 启 动,Oak (Java的前身)当 时 在 消 费 品 市 场 上 并 不 算 成 功, 但 随 着 1995 年 互 联 网 潮 流 的 兴 起, Oak 迅 速 找 到 了 最 适 合 自 己 发 展 的 市 场 定 位 并 蜕 变 成 为 Java 语 言。 | |
1 | 1995.05 | Java 1.0 | “Write Once, Run Anywhere” | 1995 年 5 月 23 日, Oak 语 言 改 名 为 Java, 并 且 在 SunWorld 大 会 上 正 式 发 布 Java 1.0 版 本。 Java 语 言 第 一 次 提 出 了" Write Once, Run Anywhere" 的 口 号。 |
2 | 1996.01 | JDK 1.0 | Java 虚 拟 机、 Applet、 AWT | 1996 年 1 月 23 日, JDK 1.0 发 布, Java 语 言 有 了 第 一 个 正 式 版 本 的 运 行 环 境。 JDK 1.0 提 供 了 一 个 纯 解 释 执 行 的 Java 虚 拟 机 实 现( Sun Classic VM)。 在 1996 年 5 月 底, Sun 公 司 于 美 国 旧 金 山 举 行 了 首 届 JavaOne 大 会 |
3 | 1997.02 | JDK 1.1 | 内部类、反射、JAR 文 件 格 式、JDBC、JavaBeans、RMI | |
4 | 1998.12 | JDK 1.2 | 三个方向:J2SE、J2EE、J2ME | (1)Sun 在 这 个 版 本 中 把 Java 技 术 体 系 拆 分 为 3 个 方 向, 分 别 是 面 向 桌 面 应 用 开 发 的 J2SE( Java 2 Platform, Standard Edition)、 面 向 企 业 级 开 发 的 J2EE( Java 2 Platform, Enterprise Edition) 和 面 向 手 机 等 移 动 终 端 开 发 的 J2ME( Java 2 Platform, Micro Edition)。(2) 在 这 个 版 本 中 出 现 的 代 表 性 技 术 非 常 多, 如 EJB、 Java Plug-in、 Java IDL、 Swing 等, (3)并 且 这 个 版 本 中 Java 虚 拟 机 第 一 次 内 置 了 JIT( Just In Time) 编 译 器( JDK 1.2 中 曾 并 存 过 3 个 虚 拟 机, Classic VM、 HotSpot VM 和 Exact VM, 其 中 Exact VM 只 在 Solaris 平 台 出 现 过; 后 面 两 个 虚 拟 机 都 是 内 置 JIT 编 译 器 的, 而 之 前 版 本 所 带 的 Classic VM 只 能 以 外 挂 的 形 式 使 用 JIT 编 译 器)。 |
5 | 2000.05 | JDK 1.3 | Timer、Java 2d | |
6 | 2002.02 | JDK 1.4 | 正 则 表 达 式、 异 常 链、 NIO、 日 志 类、 XML 解 析 器 和 XSLT 转 换 器 | JDK 1.4 是 Java 真 正 走 向 成 熟的 一 个 版 本, Compaq、 Fujitsu、 SAS、 Symbian、 IBM 等 著 名 公 司 都 有 参 与 甚 至 实 现 自 己 独 立 的 JDK 1.4。 哪 怕 是 在 十 多 年 后 的 今 天, 仍 然 有 许 多 主 流 应 用( Spring、 Hibernate、 Struts 等) 能 直 接 运 行 在 JDK 1.4 之 上, 或 者 继 续 发 布 能 运 行 在 JDK 1.4 上 的 版 本。 JDK 1.4 同 样 发 布 了 很 多 新 的 技 术 特 性, 如正 则 表 达 式、 异 常 链、 NIO、 日 志 类、 XML 解 析 器 和 XSLT 转 换 器 等。 |
7 | 2004.09.30 | JDK 1.5 | 自 动 装 箱、 泛 型、 动 态 注 解、 枚 举、 可 变 长 参 数、 遍 历 循 环( foreach 循 环)、改进内存模型、提供并发包 | 2004 年 9 月 30 日, JDK 1.5[ 1] 发 布, 工 程 代 号 Tiger( 老 虎)。 从 JDK 1.2 以 来, Java 在 语 法 层 面 上 的 变 换 一 直 很 小, 而 JDK 1.5 在 Java 语 法 易 用 性上 做 出 了 非 常 大 的 改 进。 例 如, 自 动 装 箱、 泛 型、 动 态 注 解、 枚 举、 可 变 长 参 数、 遍 历 循 环( foreach 循 环) 等 语 法 特 性 都 是 在 JDK 1.5 中 加 入 的。 在 虚 拟 机 和 API 层 面 上, 这 个 版 本 改 进 了 Java 的 内 存 模 型( Java Memory Model, JMM)、 提 供 了 java.util.concurrent 并 发 包等。 |
8 | 2006.12 | JDK 6 | 命名、动态语言、编译、算法 | 在 这 个 版 本 中, Sun 终 结 了 从 JDK 1.2 开 始 已 经 有 8 年 历 史 的 J2EE、 J2SE、 J2ME 的 命 名 方 式, 启 用 Java SE 6、 Java EE 6、 Java ME 6 的 命 名 方 式。 JDK 1.6 的 改 进 包 括: 提 供 动 态 语 言 支 持( 通 过 内 置 Mozilla JavaScript Rhino 引 擎 实 现)、 提 供 编 译 API 和 微 型 HTTP 服 务 器 API 等。 同 时, 这 个 版 本 对 Java 虚 拟 机 内 部 做 了 大 量 改 进, 包 括 锁 与 同 步、 垃 圾 收 集、 类 加 载等 方 面 的 算 法 都 有 相 当 多 的 改 动。 |
9 | 2009.02 | JDK 7 | 2009 年 4 月 20 日, Oracle 公 司 宣 布 正 式 以 74 亿 美 元 的 价 格 收 购 Sun 公 司 | |
10 | 2014.03 | JDK 8 | Lambda 、Date API、重复注解、类型推断、Nashorn Script脚本引擎 |