一、前言

通过上一节,我们对整个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脚本引擎

JVM_总结_03_Java发展史的更多相关文章

  1. Python学习笔记—Python基础1 介绍、发展史、安装、基本语法

    第一周学习笔记: 一.Python介绍      1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  2. 微分方程——基本概念和常微分方程的发展史

    1.2 基本概念和常微分方程的发展史 自变量.未知函数均为实值的微分方程称为实值微分方程:未知函数取复值或变量及未知函数均取复值时称为复值微分方程.若无特别声明,以下均指实变量的实值微分方程. 1.2 ...

  3. CSS3_概述、发展史、模块介绍、与浏览器之间的关系

    一.CSS3概述和CSS3的发展史: 1.css3概述: CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能.    目前主流浏览器chrome.safari. ...

  4. 一. JVM发展史,运行时数据区域,四大引用

    一.JVM的出现 JVM将字节码解释成不同os下的机器指令,有了jvm,java语言在不同平台上运行时不需要重新编译 虚拟机发展史 (1)Sun Classic classic jvm要么采用纯解释器 ...

  5. 腾讯qq的发展史

    腾讯qq的发展史 即时通信软件的历史并不久远,但是它一诞生,就立即受到网民的喜爱,并风靡全球.    在其发展史上,以色列人功不可没.正是四位以色列籍的年轻人,在1996年7月成立的Mirabilis ...

  6. 安卓发展史以及安卓和苹果对比PPT

    此PPT由我们小组协力完成,介绍了Android的发展史以及android与苹果的一些比较.概述了android发展至今的一系列版本,功能的日益完善,它的强大性,灵活性,公开性使其拥有吸引客服的绝大魅 ...

  7. Qt 框架的图形性能高(OpenGL上的系统效率高),网络性能低,开发效率高,Quick是可以走硬件加速——Qt中分为好几套图形系统,差不多代表了2D描画的发展史。最经典的软描画系统

    -----图形性能部分-----Qt的widgets部分,运行时的图像渲染性能是一般的,因为大部分的界面内容都是Qt自绘,没有走硬件加速,也就是说很多图形内容都是CPU算出来的.但是widgets底层 ...

  8. JavaScript发展史,与JScript差别,引入方式,数据类型,命名规范,命名推荐,解决命名冲突

    文件夹: 1.JavaScript发展史 2.JavaScript与JScript差别 3.JavaScript引入方式 4.JavaScript基本数据类型及布尔值 5.JavaScript命名规范 ...

  9. jQuery的发展史

    jQuery的发展史,你知道吗? 每天多学一点知识,就少写一行代码2006年1月,jQuery的第一个版本面世,至今已经有6年多了(注:这个时间点是截止至出书时间).虽然过了这么久,但它依然以其简洁. ...

随机推荐

  1. 0201-开始使用Spring Cloud实战微服务准备工作

    1.Spring Cloud是什么 基于spring boot,之上快速构建分布式系统的工具集 服务注册和发现[eureka.Consul.Zookeeper].服务负载均衡[Ribbon,feign ...

  2. 脉冲神经网络及有监督学习算法Tempotron

    接下来一段时间开启脉冲神经网络模型的探索之旅.脉冲神经网络有更强的生物学基础,尽可能地模拟生物神经元之间的连接和通信方式.其潜在能力较强,值得踏进一步探索. 构建脉冲神经网络模型,至少需要考虑三点:1 ...

  3. 合并apk和odex 为完整的apk安装文件

    from:http://bbs.hiapk.com/thread-1151284-1-1.html 文件夹:<ignore_js_op> 文件夹拖放到odex.cmd,出现下面的窗口后,按 ...

  4. asp.net 利用Response.Filter 获取输出内容, 变更输出内容

    重写 Response.Filter 就可以获取或更新输出到浏览器的内容       资料: https://weblog.west-wind.com/posts/2009/Nov/13/Captur ...

  5. PHP用星号隐藏部份用户名、身份证、IP、手机号、邮箱等实例

      一.仿淘宝评论购买记录隐藏部分用户名,以下代码亲测可用. function cut_str($string, $sublen, $start = 0, $code = 'UTF-8') { if( ...

  6. 【leetcode刷题笔记】Palindrome Partitioning II

    Given a string s, partition s such that every substring of the partition is a palindrome. Return the ...

  7. MySQL-版本及服务介绍

    一.MySQL各版本 1.MySQL产品 下载地址:https://www.mysql.com/downloads/ Oracle MySQL Cloud Service(commercial) 商业 ...

  8. 跨平台移动开发 Xuijs超轻量级的框架Style CSS属性用法

    PhoneGap里面推荐使用的超轻量级的框架 Style CSS属性用法 设置css属性:setstyle 通过ID设置css属性 x$('#top1').setStyle('color', '#DB ...

  9. awk遇到windows 的^M

    windows在编辑的文档,在linux中显示会在行尾出现一个^M window下编辑的文档:末尾带^M$ linux下编辑的文档:末尾带$ awk中如果存在^M,则会限制print的输出列数(只能输 ...

  10. python:格式化输出 str.format()

    官网说明:https://docs.python.org/2/library/string.html#formatstrings python的格式输出有两种方法: 1.“ %s”.(variant) ...