您的位置:首页 > 职场人生

黑马程序员_java基础学习2

2011-10-24 21:54 309 查看
----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

java发展史与java体系 :

从JDK诞生到现在已经有11年的时间了。沧海桑田一瞬间。转眼11年过去了,JDK已经发布了6个版本。在这11年里诞生了无数和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)五个部分。而开发环境还包括了编译 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个领域进军的号角。

2 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 运动场 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 野马 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会变得更加强大。随着Java和IT业界的关系变得更加紧密,Sun公司也将更容易卖出自己兼容Java良好的WEB服务器和操作系统。这个举动将会给软件开发群体带来新的活力,改善Sun公司的公众形象,并同时证明Sun可以成为一个开源社会的“良民”。

随着Java的开源,Java的未来似乎变得更加明朗。在未来,Java的应用范围有可能变得更广。Sun董事长麦克里尼在2006年的JavaOne会议上说,“全球有3/4的人还不能接入Internet,这对Java技术伙伴来说是一个巨大的经济机会。瘦客户机、微小的传感器以及其它Java驱动的小装置,可以帮助我们改善人们的生活。他希望Java社区通过他们的工作能够弥合数字鸿沟”。

Sun认为,数字媒体将是Java的下一个重点市场,同时,教育和健康将是未来Java发展过程中的两大重点应用领域。但愿Java的未来真能象Sun宣称的那样,成为我们未来生活的一部分

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: