JVM_总结_03_Java发展史
一、前言
通过上一节,我们对整个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发展史的更多相关文章
- Python学习笔记—Python基础1 介绍、发展史、安装、基本语法
第一周学习笔记: 一.Python介绍 1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- 微分方程——基本概念和常微分方程的发展史
1.2 基本概念和常微分方程的发展史 自变量.未知函数均为实值的微分方程称为实值微分方程:未知函数取复值或变量及未知函数均取复值时称为复值微分方程.若无特别声明,以下均指实变量的实值微分方程. 1.2 ...
- CSS3_概述、发展史、模块介绍、与浏览器之间的关系
一.CSS3概述和CSS3的发展史: 1.css3概述: CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能. 目前主流浏览器chrome.safari. ...
- 一. JVM发展史,运行时数据区域,四大引用
一.JVM的出现 JVM将字节码解释成不同os下的机器指令,有了jvm,java语言在不同平台上运行时不需要重新编译 虚拟机发展史 (1)Sun Classic classic jvm要么采用纯解释器 ...
- 腾讯qq的发展史
腾讯qq的发展史 即时通信软件的历史并不久远,但是它一诞生,就立即受到网民的喜爱,并风靡全球. 在其发展史上,以色列人功不可没.正是四位以色列籍的年轻人,在1996年7月成立的Mirabilis ...
- 安卓发展史以及安卓和苹果对比PPT
此PPT由我们小组协力完成,介绍了Android的发展史以及android与苹果的一些比较.概述了android发展至今的一系列版本,功能的日益完善,它的强大性,灵活性,公开性使其拥有吸引客服的绝大魅 ...
- Qt 框架的图形性能高(OpenGL上的系统效率高),网络性能低,开发效率高,Quick是可以走硬件加速——Qt中分为好几套图形系统,差不多代表了2D描画的发展史。最经典的软描画系统
-----图形性能部分-----Qt的widgets部分,运行时的图像渲染性能是一般的,因为大部分的界面内容都是Qt自绘,没有走硬件加速,也就是说很多图形内容都是CPU算出来的.但是widgets底层 ...
- JavaScript发展史,与JScript差别,引入方式,数据类型,命名规范,命名推荐,解决命名冲突
文件夹: 1.JavaScript发展史 2.JavaScript与JScript差别 3.JavaScript引入方式 4.JavaScript基本数据类型及布尔值 5.JavaScript命名规范 ...
- jQuery的发展史
jQuery的发展史,你知道吗? 每天多学一点知识,就少写一行代码2006年1月,jQuery的第一个版本面世,至今已经有6年多了(注:这个时间点是截止至出书时间).虽然过了这么久,但它依然以其简洁. ...
随机推荐
- 汽车数据的可视化分析(R)
数据下载:http://www.fueleconomy.gov/feg/epadata/vehicles.csv.zip 将数据导入R中, 1.首先将工作路径设定到本地保存了vehicles.csv的 ...
- ZFIR_001 ole下载
*&---------------------------------------------------------------------** Report ZFIR_001* Appli ...
- MCU与FPGA通信
1.MCU启动FPGA相应功能模块 通过译码器选择相应的功能模块,调用实现功能. 2.MCU与FPGA串口通信 SPI协议简单.可靠.易实现,速度快,推荐使用SPI.SPI为四线机制,包含MOSI.M ...
- Python的模块与函数以及与自动化的结合
3 模块与函数 3.1程序结构 python的程序由package,module,function组成,分别是包,模块,函数.模块是函数和类的集合,包,模块,函数之间的关系如下: 3.2模块 pyth ...
- python基础27 -----python进程终结篇-----IO模型
一.IO模型 1.IO模型分类 1.阻塞IO--------blocking IO 2.非阻塞IO------nonblocking IO 3. 多路复用IO------- multiplexing ...
- 前端基础之JavaScript_(5)_DOM对象总结
DOM 定义了访问和操作HTML文档的标准方法 访问(查找标签) //---- 直接查找 document.getElementById(“idname”) document.getElementsB ...
- mysql 7.5.8 服务无法启动 服务没有报告任何错误
你安装的mysql位置不是c盘的话应该出现此问题. 1.打开bin下的mysql_config.pl文件,查找以下几行,把目录改成你安装mysql的目录即可. my $ldata = 'C:/Prog ...
- iOS WKWebView OC 与 JS 交互学习
我写WKWebView 想让 服务端相应 一个 方法但是不响应,根据 UIWebView 用 JSContext就能拿到响应的处理经验是不是服务端 也需要 对 WKwebView有兼容的一个写法??? ...
- first application
<!DOCTYPE html> <html> <head> <title>Create a Map</title> <meta htt ...
- 建议40:深入掌握ConfigParser
# -*- coding:utf-8 -*- ''' 1.getboolean() 根据一定的规则将配置项的值转换为布尔值 getboolean() 的真值规则: 0.no.false 和off 都会 ...