JAVA发展史详细版_第1页
JAVA发展史详细版_第2页
JAVA发展史详细版_第3页
JAVA发展史详细版_第4页
JAVA发展史详细版_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 1欢迎下载 JAVAJAVA 发展史发展史 从 JDK 诞生到现在已经有 15 年的时间了 沧海桑田一瞬间 转眼 15 年过去了 JDK 已经 发布了 6 个版本 在这 15 年里诞生了无数和 Java 相关的技术和标准 现在让我们进入时 间隧道 重新回到 1995 年 再来回顾一下 Java 的发展轨迹和历史变迁 一 JDK 前传 在这个世界上 熟悉 Java 历史的人非常多 如果要问一个人 Java 是从哪年诞生的 也许大多数人都会回答是 1995 年 这个非常好记 因为微软的 Windows95 也是在这一年发 布的 但事实上 Java 早在上个世纪 90 年代初就开始酝酿了 1991 年 4 月 Sun 公司的 James Gosling 领导的绿色计划 Green Project 开始着力发 展一种分布式系统结构 使其能够在各种消费性电子产品上运行 而 Green 项目组的成员 一开始使用 C 语言来完成这个项目 由于 Green 项目组的成员都具有 C 背景 所以他们 首先把目光锁定了 C 编译器 Gosling 首先改写了 C 编译器 但很快他就感到 C 的很 多不足 需要研发一种新的语言 Java 来替代它 一杯飘香的咖啡成为了它的标志 在 17 个月后 整个系统完成了 这个系统是更注重机顶盒式的操作系统 不过在当 时市场不成熟的情况下 他们的项目没有获得成功 但 Java 语言却得到了 Sun 总裁 McNealy 的赏识 直至 1994 年下半年 由于 Internet 的迅猛发展和环球信息网 WWW 的快速增长 第一 个全球信息网络浏览器 Mosaic 诞生了 此时 工业界对适合在网络异构环境下使用的语言 有一种非常急迫的需求 Games Gosling 决定改变绿色计划的发展方向 他们对 Oak 进行 了小规模的改造 就这样 Java 在 1995 年的 3 月 23 日诞生了 Java 的诞生标志着互联网 时代的开始 它能够被应用在全球信息网络的平台上编写互动性及强的 Applet 程序 而 1995 年的 Applet 无疑能给人们无穷的视觉和脑力震荡 我们姑且将 Java 的这段历史称为 Java 前传吧 其实 Java 的诞生颇有那么一股 有心栽花花不开 无心插柳柳成阴 的味道 就象当年 Unix 和它的前身 MULTICS 系统一样 二 JDK 的幼年时期 1995 1998 Sun 继 Green 项目后又经过了几年的研究 终于在 1995 年 5 月 23 日在 SunWorld 95 上正式发布 Java 和 HotJava 浏览器 在同年 有很多公司先后获得了 Java 许可证 如 Netscape 在 1995 年 8 月 Oracle 在 1995 年 10 月分别获得了 Java 许可证 Sun 在 1995 年发布第一个 Java 版本后 于 1996 年 1 月宣布成立新的业务部门 JavaSoft 部 这个 部分主要负责开发 销售并支持基于 Java 技术的产品 由 AlanBaratz 先生任总裁 在 1995 年 Sun 虽然推出了 Java 但这只是一种语言 而要想开发复杂的应用程序 必须要有一个的强大的开发库支持还行 因此 Sun 在 1996 年 1 月 23 日发布了 JDK1 0 这个版本包括了两部分 运行环境 即 JRE 和开发环境 即 JDK 在运行环境中包括了核 心 API 集成 API 用户界面 API 发布技术 Java 虚拟机 JVM 五个部分 而开发环境还 精品文档 2欢迎下载 包括了编译 Java 程序的编译器 即 javac 在 JDK1 0 时代 JDK 除了 AWT 一种用于开 发图形用户界面的 API 外 其它的库并不完整 Sun 在推出 JDK1 0 后 紧跟着 Sun 在 1997 年 2 月 18 日发布了 JDK1 1 JDK1 1 相对 于 JDK1 0 最大的改进就是为 JVM 增加了 JIT 即时编译 编译器 JIT 和传统的编译器不同 传统的编译器是编译一条 运行完后再将其扔掉 而 JIT 会将经常用到的指令保存在内容 中 在下次调用时就不需要再编译了 这样 JDK 在效率上有了非常大的提升 Sun 在推出 JDK1 1 后 接着又推出了数个 JDK1 x 版本 自从 Sun 推出 Java 后 JDK 的下载量不断彪升 在 1997 年 JDK 的下载量突破了 220 000 而在 1998 年 JDK 的下载 量已经超过了 2 000 000 虽然在 1998 年之前 Java 被众多的软件企业所采用 但由于当时硬件环境和 JVM 的 技术原因 它的应用却很有限 当时 Java 主要只使用在前端的 Applet 以及一些移动设备 中 然而这并不等于 Java 的应用只限于这些领域 在 1998 年是 Java 开始迅猛发展的一年 在这一年中 Sun 发布了 JSP Servlet EJB 规范以及将 Java 分成了 J2EE J2SE 和 J2ME 标志着 Java 已经吹响了向企业 桌面和移动 3 个领域进军的号角 三 JDK 的青少年时期 1998 2004 到 1998 年 Java 已经走过了 3 个年头 从 JDK1 0 到 JDK1 1 8 JDK1 x 经过了 9 个 小版本的发展 已经初具规模 至此 它已经走出了摇篮 可以去独闯世界了 在 1998 年 12 月 4 日 Sun 发布了 Java 的历史上最重要的一个 JDK 版本 JDK1 2 这 个版本标志着 Java 已经进入 Java2 时代 这个时期也是 Java 飞速发展的时期 在 Java2 时代 Sun 对 Java 进行了很多革命性的变化 而这些革命性的变化一直沿用 到现在 对 Java 的发展形成了深远的影响 JDK1 2 自从被分成了 J2EE J2SE 和 J2ME 三大块 得到了市场的强烈反响 不仅如此 JDK1 2 还对它的 API 分成了三大类 核心 API 由 Sun 公司制定的基本的 API 所有的 Java 平台都应该提供 这就是我们平常所说的 Java 核心类库 可选 API 这是 Sun 为 JDK 提供的扩充 API 这些 API 因平台的不同而不同 特殊 API 用于满足特殊要求的 API 如用于 JCA 和 JCE 的第三方加密类库 Java2 除了上述的一些改进外 还增加了很多新的特性 其中最吸引眼球的当属 Swing 了 Swing 是 Java 的另一个图形库 它不但有各式各样先进的组件 而且连组件风格都可 精品文档 3欢迎下载 抽换 在 Swing 出现后 很快就抢了 AWT 的风头 但 Swing 并不是为取代 AWT 而存在的 事实上 Swing 是建立在 AWT 之上的 就象 JFace 是建立在 SWT 之上一样 另外 Java2 还在 多线程 集合类和非同步类上做了大量的改进 从 JDK1 2 开始 Sun 以平均 2 年一个版本的速度推出新的 JDK 在 2000 年 5 月 8 日 Sun 对 JDK1 2 进行了重大升级 推出了 JDK1 3 Sun 在 JDK1 3 中同样进行了大量的改进 主要表现在一些类库上 如数学运算 新的 Timer API 等 在 JNDI 接口方面增加了一些 DNS 的支持 增加了 JNI 的支持 这使得 Java 可以访问本地资源了 支持 XML 以及使用新的 Hotspot 虚拟机代替了传统的虚拟机 在 JDK1 3 时代 相应的应用程序服务器也得到了广泛的应用 如第一个稳定版本 Tomcat3 x 在这一时期得到了广泛的应用 WebLogic 等商业应用服务器也渐渐被接受 时间如水 生命如歌 转眼到了 2002 年 Sun 在这一年的 2 月 13 日发布了 JDK 历史 上最为成熟的版本 JDK1 4 在进入 21 世纪以来 曾经在 NET 平台和 Java 平台之间发生 了一次声势浩大的孰优孰劣的论战 Java 的主要问题就是性能 因此 这次 Sun 将主要精力放到了 Java 的性能上 在 JDK1 4 中 Sun 放言要对 Hotspot 虚拟机的锁机制进行了改进 使 JDK1 4 的性能有了质的飞跃 同时由于 Compaq Fujitsu SAS Symbian IBM 等公司的参与 使 JDK1 4 成为发展最快的一个 JDK 版本 到 JDK1 4 为止 我们已经可以使用 Java 实现大多数的应用了 四 JDK 的壮年时期 2004 至今 虽然从 JDK1 4 开始 Java 的性能有了显著的提高 但 Java 又面临着另一个问题 那 就是复杂 虽然 Java 是纯面向对象语言 但它对一些高级的语言特性 如泛型 增强的 for 语句 并不支持 而且和 Java 相关的技术 如 EJB2 x 也由于它们的复杂而很少有人问津 也 许是 Sun 意识到了这一点 因此 在 2004 年 10 月 Sun 发布了我们期待已久的版本 JDK1 5 同时 Sun 将 JDK1 5 改名为 J2SE5 0 和 JDK1 4 不同 JDK1 4 的主题是性能 而 J2SE5 0 的主题是易用 Sun 之所以将版本号 1 5 改为 5 0 就是预示着 J2SE5 0 较以 前的 J2SE 版本有着很大的改过 Sun 不仅为 J2SE5 0 增加了诸如泛型 增强的 for 语句 可变数目参数 注释 Annotations 自动拆箱 unboxing 和装箱等功能 同时 也更新的企业级规范 如通 过注释等新特性改善了 EJB 的复杂性 并推出了 EJB3 0 规范 同时又针对 JSP 的前端界面 设计而推出了 JSF 这个 JSF 类似于 ASP NET 的服务端控件 通过它可以很快地建立起复 杂的 JSP 界面 到今年年底 Sun 也再接再厉地推出了 J2SE6 0 的测试版 预计在 2007 年初将推出它的 正式版 精品文档 4欢迎下载 正象 J2SE6 0 的开发代号 野马 Mustang 一样 我们已经隐约听到了野马的嘶鸣 据 Sun 发言人透露 J2SE6 0 不仅在性能 易用性方面得到了前所未有的提高 而且还提 供了如脚本 全新的 API Swing 和 AWT 等 API 已经被更新 的支持 而且 J2SE6 0 是专为 Vista 而设计的 它在 Vista 上将会拥有更好的性能 在推出 J2SE6 0 的同时 J2SE7 0 项 目也已经启动 在 Java 发展的十几年的时间里 经历了无数的风风雨雨 现在 Java 已经成为一种相 当成熟的语言了 在这 10 年的发展中 Java 平台吸引了数百万的开发者 在网络计算遍 及全球的今天 更是有 20 亿台设备使用了 Java 技术 作为 Java 技术的基础 J2SE 功不 可没 让我们期望 J2SE 伴随 Java 平台一路走好 五 JDK 各版的发布时间表 到现在为止我们已经重新走了一遍 Java 的历史轨迹 在这一部分 为了有一个总体的认 识 让我们来看一看 Java 发展的时间表 版本号 名称 中文名 发布日期 JDK 1 1 4 Sparkler 宝石 1997 09 12 JDK 1 1 5 Pumpkin 南瓜 1997 12 13 JDK 1 1 6 Abigail 阿比盖尔 女子名 1998 04 24 JDK 1 1 7 Brutus 布鲁图 古罗马政治家和将军 1998 09 28 JDK 1 1 8 Chelsea 切尔西 城市名 1999 04 08 J2SE 1 2 Playground 运动场 精品文档 5欢迎下载 1998 12 04 J2SE 1 2 1 none 无 1999 03 30 J2SE 1 2 2 Cricket 蟋蟀 1999 07 08 J2SE 1 3 Kestrel 美洲红隼 2000 05 08 J2SE 1 3 1 Ladybird 瓢虫 2001 05 17 J2SE 1 4 0 Merlin 灰背隼 2002 02 13 J2SE 1 4 1 grasshopper 蚱蜢 2002 09 16 J2SE 1 4 2 Mantis 螳螂 2003 06 26 J2SE 5 0 1 5 0 Tiger 老虎 2004 10 J2SE 6 0 Beta Mustang 精品文档 6欢迎下载 野马 2006 04 从这个表中我们可以看出一个非常有意思的现象 就是 JDK 的每一个版本号都使用一 个开发代号表示 就是表中的中文名 而且从 JDK1 2 2 开始 主要版本 如 1 3 1 4 5 0 都 是以鸟类或哺乳动物来命名的 而它们的 bug 修正版本 如 1 2 2 1 3 1 1 4 2 都是以昆 虫命名的 六 Java 的未来 10 年 在 2005 年的 Java One 开发者大会上 James Gosling 作了题为 Java 技术下一个 10 年贡献 的演讲 谈到未来 Java 的发展时 James Gosling 提到了有关 Java 软件的性能和 复杂性问题 鉴于许多机器运行着大量进程的实际情况 人们对线程模型投以越来越多的 关注 随着人们对桌面应用的要求越来越高 系统将变得越来越复杂 他指出 从工程的 角度来看 未来 10 年内我们所面临的最大挑战就是复杂性问题 James Gosling 说 目前 我们开展了许多工作以解决应用编程接口 语言以及工具中所涉及的复杂性问题 在工具和用户界面 UI 中都会遇到复杂性问题 Java 技术设计人员必须处理好大小尺寸调 整和国际化的问题 在这次大会上 James Gosling 还同 Java 技术先驱 现任 Kleiner Perkins Caulfield and Byers 合伙人的 Bill Joy 先生 Sun 公司首席科学家 John Gage 先生 未 来研究所主任 Paul Saffo 先生 Sun 杰出工程师 Guy Steele 先生以及 Applied Mindes 公 司主席及首席技术官 Danny Hillis 先生等一起探讨了讨论 Java 语言的过去和未来发展情 况 他们认为 Java 技术提高了计算的 流动性 就如同货币的发明提高了商品的流动性 一样 无所不在的网络丰富了每个人的信息 就如同可以兑换的货币产生了财富一样 由 于从前的网络是很慢的 所以计算被束缚在特定的计算机上 而这种情况将一去不复返了 目前 全球 Java 开发人员已经超过 450 万 而与之相对应的是 Java 社区充满活力和 创新精神 这正是 Java 下一个 10 年更加繁荣的保障 为了保持 Java 的增长和推进 Java 社区的参与 Sun 在 Java One 开发者大会上宣布开放 Java 核心源代码 以鼓励更多的人 参与到社团活动中来 这是 Sun 为推进社团发展和维护 Java 技术兼容性而迈出的重要一步 Sun 公司总裁兼首席运营官 Jonathan Schwartz 先生指出 来自 Java 社团和 IBM 等全 球技术合作伙伴两方面的支持 乃是 Java 技术在创新和社会进步上继续发挥重要作用的强 有力的标志 技术开放和社团建设降低了技术应用的壁垒 其结果是为参与和增长创造了 更多的商机 这就形成了价值上千亿美元的 Java 产业 有很多人认为 Java 开源后 在众多开发人员的参与之下 Java 会变得更加强大 随 精品文档 7欢迎下载 着 Java 和 IT 业界的关系变得更加紧密 Sun 公司也将更容易卖出自己兼容 Java 良好的 WEB 服务器和操作系统 这个举动将会给软件开发群体带来新的活力 改善 Sun 公司的公 众形象 并同时证明 Sun 可以成为一个开源社会的 良民 随着 Java 的开源 Java 的未来似乎变得更加明朗 在未来 Java 的应用范围有可能 变得更广 Sun 董事长麦克里尼在 2006 年的 JavaOne 会议上说 全球有 3 4 的人还不能接 入 Internet 这对 Java 技术伙伴来说是一个巨大的经济机会 瘦客户机 微小的传感器 以及其它 Java 驱动的小装置 可以帮助我们改善人们的生活 他希望 Java 社区通过他们 的工作能够弥合数字鸿沟 Sun 认为 数字媒体将是 Java 的下一个重点市场 同时 教育和健康将是未来 Java 发展过程中的两大重点应用领域 但愿 Java 的未来真能象 Sun 宣称的那样 成为我们未来 生活的一部分 JDKJDK 各版的发布时间表各版的发布时间表 文章分类文章分类 JavaJava 编程编程 Java 发展的时间表 版本号 名称 中文名 发布日期 JDK 1 1 4 Sparkler 宝石 1997 09 12 JDK 1 1 5 Pumpkin 南瓜 1997 12 13 JDK 1 1 6 Abigail 阿比盖尔 女子名 1998 04 24 JDK 1 1 7 Brutus 布鲁图 古罗马政治家和将军 1998 09 28 JDK 1 1 8 Chelsea 切尔西 城市名 1999 04 08 J2SE 1 2 Playground 运动场 1998 12 04 J2SE 1 2 1 none 无 1999 03 30 J2SE 1 2 2 Cricket 蟋蟀 1999 07 08 J2SE 1 3 Kestrel 美洲红隼 2000 05 08 J2SE 1 3 1 Ladybird 瓢虫 2001 05 17 J2SE 1 4 0 Merlin 灰背隼 2002 02 13 精品文档 8欢迎下载 J2SE 1 4 1 grasshopper 蚱蜢 2002 09 16 J2SE 1 4 2 Mantis 螳螂 2003 06 26 J2SE 5 0 1 5 0 Tiger 老虎 2004 10 J2SE 6 0 Beta Mustang 野马 2006 04 从这个表中我们可以看出一个非常有意思的现象 就是 JDK 的每一个版本号都使用一 个开发代号表示 就是表中的中文名 而且从 JDK1 2 2 开始 主要版本 如 1 3 1 4 5 0 都 是以鸟类或哺乳动物来命名的 而它们的 bug 修正版本 如 1 2 2 1 3 1 1 4 2 都是以昆 虫命名的 1995 年 5 月 23 日 Java 语言诞生 1996 年 1 月 第一个 JDK JDK1 0 诞生 1996 年 4 月 10 个最主要的操作系统供应商申明

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论