java的发展历程_第1页
java的发展历程_第2页
java的发展历程_第3页
java的发展历程_第4页
java的发展历程_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

Java 的过去现在和未来 摘要:从 JDK 诞生到现在已经有 11 年的时间了。沧海桑田一瞬间。转眼 11 年过去了, JDK 已经发布了 6 个版本。在这 11 年里诞生了无数和 Java 相关的技术和标准。现在让我 们先进入时间隧道,重新回到 1995 年,再来回顾一下 Java 的发展轨迹和历史变迁,再展 望一下 java 的未来。 关键字:java ,jdk,发展,前景 正文: 一、 java 的诞生 Java 是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。 Java 语言中的许多库类 名称,多与咖啡有关,如 JavaBeans(咖啡豆) 、NetBeans (网络豆)以及 ObjectBeans (对象豆)等等。SUN 和 JAVA 的标识也正是一杯正冒着热气的咖啡。 Java 的取名也有一趣闻,有一天,几位 Java 成员组的会员正在讨论给这个新的语言 取什么名字,当时他们正在咖啡馆喝着 Java(爪哇) 咖啡,有一个人灵机一动说就叫 Java 怎样,得到了其他人的赞赏,于是,Java 这个名字就这样传开了。 在这个世界上,熟悉 Java 历史的人非常多,如果要问一个人 Java 是从哪年诞生的, 也许大多数人都会回答是 1995 年(这个非常好记,因为微软的 Windows95 也是在这一年 发布的)。但事实上 Java 早在上个世纪 90 年代初就开始酝酿了。 1991 年 4 月,Sun 公司的 James Gosling 领导的绿色计划(Green Project)开始着力发 展一种分布式系统结构,使其能够在各种消费性电子产品上运行。而 Green 项目组的成员 一开始使用 C+语言来完成这个项目, 由于 Green 项目组的成员都具有 C+背景,所以 他们首先把目光锁定了 C+编译器, Gosling 首先改写了 C+编译器,但很快他就感到 C+的很 多不足,需要研发一种新的语言来替代它,这时 Oak 语言诞生了。 在 17 个月后,整个系统完成了,这个系统是更注重机顶盒式的操作系统,不过在当 时市场不成熟的情况下,他们的项目没有获得成功,但 OaK 语言却得到了 Sun 总裁 McNealy 的赏识。 直至 1994 年下半年,由于 Internet 的迅猛发展和环球信息网 WWW 的快速增长, 第一个全球信息网络浏览器 Mosaic 诞生了;此时,工业界对适合在网络异构环境下使用 的语言有一种非常急迫的需求;Games Gosling 决定改变绿色计划的发展方向,他们对 Oak 进行了小规模的改造,就这样,Java 在 1995 年的 3 月 23 日诞生了!Java 的诞生标 志着互联网时代的开始,它能够被应用在全球信息网络的平台上编写互动性及强的 Applet 程序,而 1995 年的 Applet 无疑能给人们无穷的视觉和脑力震荡。 二 java 的发展 Sun 继 Green 项目后又经过了几年的研究,终于在 1995 年 5 月 23 日在 SunWorld95 上正式发布 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)五个部分。 而开发环境还包括了编译 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 个领域进军的号角。 二:java 的现状及特性 现在 Java 分为三个体系 JavaSE(Java2 Platform Standard Edition,java 平台标准版), JavaEE(Java 2 Platform,Enterprise Edition,java 平台企业版),JavaME(Java 2 Platform Micro Edition, java 平台微型版) 。 Java SE(Java Platform,Standard Edition) java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环 境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。 Java EE(Java Platform,Enterprise Edition) 这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的 服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、 组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。 Java ME(Java Platform,Micro Edition) 这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、 电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活 的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应 用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备, 而且可以利用每个设备的本机功能。 Java 从 1995 年的暑假开始在计算机业界就受到了高度注意,特别是在 Internet 和多 媒体(Multimedia) 相关产品类方面有着显著的特性和优点: 1Java 语言是简单的。Java 语言的语法与 C 语言和 C+语言很接近,使得大多数程 序员很容易学习和使用 Java。另一方面,Java 丢弃了 C+ 中很少使用的、很难理解的、 令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言 不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 2Java 语言是一个面向对象的。Java 语言提供类、接口和继承等原语,为了简单起 见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制 (关键字为 implements) 。Java 语言全面支持动态绑定,而 C+ 语言只对虚函数使用动态 绑定。总之,Java 语言是一个纯的面向对象程序设计语言。 3Java 语言是分布式的。Java 语言支持 Internet 应用的开发,在基本的 Java 应用 编程接口中有一个网络应用编程接口(java net) ,它提供了用于网络应用编程的类库,包 括 URL、URLConnection、Socket、 ServerSocket 等。 Java 的 RMI(远程方法激活)机制也 是开发分布式应用的重要手段。 4Java 语言是健壮的。Java 的强类型机制、异常处理、废料的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。 5Java 语言是安全的。Java 通常被用在网络环境中,为此,Java 提供了一个安全机 制以防恶意代码的攻击。除了 Java 语言具有的许多安全特性以外,Java 对通过网络下载 的类具有一个安全防范机制(类 ClassLoader) ,如分配不同的名字空间以防替代本地的同 名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全 哨兵。 6 Java 语言是体系结构中立的。Java 程序(后缀为 java 的文件)在 Java 平台上 被编译为体系结构中立的字节码格式(后缀为 class 的文件), 然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7Java 语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java 还严格 规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是 用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。 8Java 语言是解释型的。如前所述,Java 程序在 Java 平台上被编译为字节码格式, 然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释 器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。 9Java 是高性能的。与那些解释型的高级脚本语言相比,Java 的确是高性能的。事 实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C+。 11Java 语言是动态的。Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有 利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。 Java 语言的优良特性使得 Java 应用具有无比的健壮性和可靠性,这也减少了应用系 统的维护费用。Java 对对象技术的全面支持和 Java 平台内嵌的 API 能缩短应用系统的开 发时间并降低成本。Java 的编译一次,到处可运行的特性使得它能够提供一个随处可用的 开放结构和在多平台之间传递信息的低成本方式。特别是 Java 企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。 三 java 的应用及前景 Oracle 对 Sun 的收购引发了人们对 Java 未来的一丝担心,Oracle 能否继续保持 Java 的开放性,面对 Ruby、Python 或 PHP 等一批轻量型语言的崛起,Java 能否继续保持其在 开发领域的领导地位? 1.走上移动之路 Java 手机的数量(估计约 26 亿部)委实惊人,因为市面上许多最简单的手机里面都 运行 Java 平台微型版(Java ME)。这让 W 等公司得以构建在整个第三世界都 能顺畅运行的文档阅读平台。 不过,运行 Java 的智能电话数量相对少一点。iPhone 的巨大成功激励许多人重新学 习 Objective C,这门语言让编程员对于内存使用等一些系统问题提高了控制能力。Java 为编程员隐藏了大部分底层问题,这是个优点,但前提是不需要管理内存等资源,因 为要 是垃圾收集出现一个小失误,有些游戏就运行不了。可遗憾的是,因为电池续航时间是极 其重要的一个因素,智能电话需要比几乎其他任何平台更严格的资源管 理。 不过,Java 编程员仍然很吃香,因为黑莓手机在其新平台上继续采用 Java ME:它为 手机的情景模式(profile)添加了支持触摸屏和方向感应器的功能。而 Android 存在不可 预知的因素。由于谷歌开放了 Android 的 使用,许多手机厂商搭上 Android 这辆彩车。 谷歌的 Android 建立在开源 Apache Harmony 及其类上,而不是建立在 Sun 开发的 Java 开 发工具包(JDK)和 Java ME 上。对使用 Eclipse 编写代码的人来说,它们看上去几乎一模 一样。在其他许多情况下也无关紧要,因为 Android 开发使用了很多 XML 表单,但 如果这 两套开发框架离对方渐行渐远,这种分裂可能会变成大问题。 2.收复桌面阵地 大多数人仍然认为 Java 在桌面端从来没有取得成功,这是过去。如今,Java 正在缓 慢而稳步地渗入到现代操作系统的各个角落。虽然用 Swing 编 写的标准应用程序因试图定 位在每个平台的最基本部分而继续遭殃,但是有了像 JavaFX 和 Web Start 这些比较新的开 发平台和框架,就有可能通过 Web 有效地部署软件。本地平台可处理 Java 归档(JAR)的 所有缓存工作。只要点击链接,有时偶 尔随后点击几下授予权限的对话框,软件就可以安 装及更新,还可以随时运行。 JavaFX 仍然是一个名副其实的未知因素。图形功能现在可与 Adobe 的 Flash 相竞争; 计算引擎可支持大部分的 Java API,但这门语言是一门奇怪的混合语言,融合了正宗 Java、JavaScript 及其他的一些标记语言。其代码比正规的 Java 简单,所以 Java 编 程 员又要学习新的东西。不过,对极具互动性的桌面工具而言,新的动画类也许值得花时间 学习。Web Start 正在继续慢慢改进通过浏览器直接把软件部署到桌

温馨提示

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

评论

0/150

提交评论