java发展历史

       Java是由太阳(SUN)公司于1995年5月推出的Java程序设计语言和Java平台的总称。Java语言是一种可以撰写跨平台应用软件的面向对象的程序设计语言,它伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。自诞生至今,还产生了无数和Java相关的产品、技术和标准。下面简要回顾一下Java的发展轨迹和历史变迁。

绿色计划

Java起源于SUN公司在1990年12月开始研究的一个内部项目,SUN公司的一个叫做巴特瑞·诺顿(Patrick Naughton)的工程师负责筹建这一项目组,但这个项目还没有具体的研究方向,但项目的原则基本确定:开发人员要少而精;项目在公司以外做,以避免公司传统势力影响;项目严格保密。

诺顿找了其他3个人(James Gosling(詹姆斯·高斯林)、 MikeSheridan(麦克·舍林丹))组成了一个4人小组,在1991年4月,这个小组搬到科罗拉多州的阿斯本,在哪里建立的实验开发室。他们把这一项目起名为“绿色”,以免引起外界的注意,这个时候项目还没有具体的方案,只是有一些原则,具体方案还需讨论。

稍后,SUN的首席科学家比尔·乔伊(Bill Joy)也加入了这一小组,成为这一小组的主管,负责协调与公司高层之间的联络。在比尔的主持下,项目组确定了项目的具体方向,准备开发一种通过多媒体界面控制所有家电的控制装置,当然这一控制装置离不开计算机芯片和计算机语言。

 Ed Fran k这时也加入到绿色计划中,并领导硬件开发工作。James Gosling成为该计划的软件负责人和架构师。

Oak语言

团队最初考虑使用C 语言,但是发现C 和可用的API在某些方面存在很大问题。工作小组使用的是内嵌类型平台,可以用的资源极其有限。很多成员发现C 太复杂以至很多开发者经常错误使用。他们发现C 缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。

根据可用的资金,比尔·乔伊决定开发一种集C语言和Mesa语言搭成的新语言,在一份报告上,乔伊把它叫做“未来”,他提议SUN公司的工程师应该在C 的基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展C 的功能,他自己称这种新语言为C –,但是后来他放弃了。他将要创造出一种全新的语言,被他命名为“Oak”(橡树),这是以他的办公室外的一颗树而命名。

Star7

工作小组没日没夜地工作到了1992年的夏天,他们能够演示新平台的一部分了,最初的尝试是面向一种类PDA设备,被命名为Star7,这种设备有鲜艳的图形界面和被称为“Duke”的智能代理来帮助用户。与此同时绿计划也建立了一套新的语言、一个操作系统、一个硬件平台和一套接口。

太阳公司总裁麦克尼利对此十分赞赏,鼓励小组一定要把项目搞成功,打入市场。同年11月,Green计划项目组被转化成了“FirstPerson有限公司”,一个SUN公司的全资子公司,想让这一控制装置在互动电视领域有所作为。但现实很残酷,1993年2月,FirstPerson公司先后失去时代华纳和3DO公司的交易,在市场上也不是很受欢迎。为此,麦克尼利大为恼火,威胁要撤销这一子公司。

Oak的新应用

1994年6、7月间,团队决定再一次改变了努力的目标,这次他们决定将oak技术应用于万维网。他们认为随着互联网的兴起和Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,诺顿写了一个以oak语言技术为基础的小型万维网浏览器(WebRunner,后来改名为HotJava)和其他一些互联网交互性应用程序。

java的命名

1994年底,麦克尼利有意撤销子公司,但乔伊恳请给子公司最后一次机会,让他们把oak语言推向互联网市场看看效果怎样。为了谨慎起见,他们把这一浏览器发给少数人看效果,其中就有网景公司的克拉克和安德鲁森,他们两个人对此新技术高度评价,这样,麦克尼利批准将oak语言推向市场的计划,商标搜索显示Oak已被一家显卡制造商注册,因此团队需要找到一个新名字,最终由律师在众多候选名字中选择了java。

Java问世

命名之后,子公司就开始了强势的营销计划,1995年3月,营销部门就攻下了《圣何塞信使消息报》的关,在头版刊登了《为什么太阳公司认为HotJAVA将会祝你发展》,这样人们纷纷向太阳公司询问java语言的情况。

1995年5月23日,在SunWorld年度大会上JAVA程序设计语言正式与世人见面了,Sun公司正式介绍了Java和HotJava。并且会上安德鲁森表示将来网景公司会把JAVA语言和浏览器技术合二为一,这样java语言一经推出立即受到人们欢迎。会上正式发布了Java 1.0版本,Java语言第一次提出了“Write Once,Run Anywhere”的口号。即不论你用的计算机采用的是哪一种操作系统,只要有JAVA虚拟机,用java语言编写的程序都可以运行,这就解决了长期困扰程序员的软件不兼容问题,为windows编写的应用程序,也可以在mac、unix系统上运行。

对于java语言的推广,太阳公司选择把它的发展计划发布到互联网上,恳请业内开发商给予回应,同时大规模向需要java语言的公司发放许可证,允许这些拥有许可证的公司对java语言进行改进,但它们需要征得太阳公司的批准。

最早接受java语言的公司是网景公司,1995年6月,Netscape在它的浏览器中支持Java。10月,Oracle在其将发布的WWW网页系统中包含了一个兼容的Java浏览器。12月,Microsoft在其IE浏览器中支持Java(协议规定微软在5年间每年支付给太阳公司350万美元,太阳公司向微软发放JAVA语言使用许可证,微软可使用java语言编写新版的浏览器软件)。

Java技术的发展

1996年1月,太阳公司成立了Javasoft公司,专门开发和推广Java技术。

1996年1月23日,JDK 1.0发布,Java语言有了第一个正式版本的运行环境。JDK 1.0(Java Development Kit

(Jave开发工具包))提供了一个纯解释执行的Java虚拟机实现(Sun Classic VM)。JDK 1.0版本的代表技术包括:Java虚拟机、Applet、AWT等。

1997年2月19日,Sun公司发布了JDK 1.1,Java技术的一些最基础的支撑点(如JDBC等)都是在JDK 1.1版本中发布的,JDK 1.1版的技术代表有:JAR文件格式、JDBC、JavaBeans、RMI。Java语法也有了一定的发展,如内部类(Inner Class)和反射(Reflection)都是在这个时候出现的。

1998年12月4日,JDK迎来了一个里程碑式的版本JDK 1.2,工程代号为Playground(竞技场),Sun在这个版本中把Java技术体系拆分为3个方向,分别是面向桌面应用开发的J2SE(Java 2 Platform, Standard Edition)、面向企业级开发的J2EE(Java 2 Platform, Enterprise Edition)和面向手机等移动终端开发的J2ME(Java 2 Platform, Micro Edition)。在这个版本中出现的代表性技术非常多,如EJB、Java Plug-in、Java IDL、Swing等,并且这个版本中Java虚拟机第一次内置了JIT(Just In Time)编译器(JDK 1.2中曾并存过3个虚拟机,Classic VM、HotSpot VM和Exact VM,其中Exact VM只在Solaris平台出现过;后面两个虚拟机都是内置JIT编译器的,而之前版本所带的Classic VM只能以外挂的形式使用JIT编译器)。在语言和API级别上,Java添加了strictfp关键字与现在Java编码之中极为常用的一系列Collections集合类。在此之前java开发者版本都是以java development kit名称发表,简称JDK,而J2SE等则是平台名称,包含了JDK和java程序语言。Java 进入了

Java2 时代。

此后java平台标准版约以2年为周期推出重大版本更新。

2004年9月30日,JDK 1.5发布(准确来说是J2SE 5.0),工程代号Tiger(老虎)。从JDK 1.2以来,Java在语法层面上的变换一直很小,而JDK 1.5在Java语法易用性上做出了非常大的改进。例如,自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach循环)等语法特性都是在JDK 1.5中加入的。在虚拟机和API层面上,这个版本改进了Java的内存模型(Java Memory Model,JMM)、提供了java.util.concurrent并发包等。

2006年12月11日,JDK 1.6发布(1.6是开发者版本,对应的产品版本称为Java SE6),工程代号Mustang(野马)。在这个版本中,Sun终结了从JDK 1.2开始已经有8年历史的J2EE、J2SE、J2ME的命名方式,启用Java SE 6、Java EE 6、Java ME 6的命名方式。JDK 1.6的改进包括:提供动态语言支持(通过内置Mozilla Java Rhino引擎实现)、提供编译API和微型HTTP服务器API等。同时,这个版本对Java虚拟机内部做了大量改进,包括锁与同步、垃圾收集、类加载等方面的算法都有相当多的改动。

在2006年11月13日的JavaOne大会(1996年5月底,Sun公司于美国旧金山举行了首届JavaOne大会,从此JavaOne成为全世界数百万Java语言开发者每年一度的技术盛会)上,Sun公司宣布最终会将Java开源,并在随后的一年多时间内,陆续将JDK的各个部分在GPL v2(GNU General Public

License v2)协议下公开了源码,并建立了OpenJDK组织对这些源码进行独立管理。除了极少量的产权代码(Encumbered Code,这部分代码大多是Sun本身也无权限进行开源处理的)外,OpenJDK几乎包括了Sun JDK的全部代码,OpenJDK的质量主管曾经表示,在JDK 1.7中,Sun JDK和OpenJDK除了代码文件头的版权注释之外,代码基本上完全一样,所以OpenJDK 7与Sun JDK 1.7本质上就是同一套代码库开发的产品。

2009年4月20日,Oracle公司宣布正式以74亿美元的价格收购Sun公司,Java商标从此正式归Oracle所有(Java语言本身并不属于哪间公司所有,它由JCP组织进行管理,尽管JCP主要是由Sun公司或者说Oracle公司所领导的)。由于此前Oracle公司已经收购了另外一家大型的中间件企业BEA公司,在完成对Sun公司的收购之后,Oracle公司分别从BEA和Sun中取得了目前三大商业虚拟机的其中两个:JRockit和HotSpot,Oracle公司宣布在未来1~2年的时间内,将把这两个优秀的虚拟机互相取长补短,最终合二为一。可以预见在不久的将来,Java虚拟机技术将会产生相当巨大的变化。

2011年7月28日,Oracle公司发布Java SE 7。

2014年3月18日,Oracle公司发布Java SE 8,开始支持lambda表达式。

2017 年7 月, Oracle 公司发布 JavaSE 9 GA 版本(General Availability)

2018年3月,java SE10版本发布。

2018 年9月,java SE11版本发布。



参考资料:

1、http://www.php.cn/java-article-353609.html

2、https://www.cnblogs.com/yshgotop/p/9972327.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 1、Java的标准划分 Java 的版本演进到Java 2,根据不同层面的应用进行了细化,Java 2平台被分为三...
    找不着对象阅读 762评论 0 1
  • 1.Java技术体系 Java程序设计语言,Java虚拟机,Java API类库三部分成为 JDK,JDK是Jav...
    JESiller阅读 4,109评论 1 0
  • Java:由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。J...
    凯哥学堂阅读 412评论 0 0
  • 海上的升月,波澜在眼里的潮汐。我看不见ta的哀婉,却听见阵阵心事,在沙滩上淅淅沥沥。
    化浊阅读 136评论 0 1
  • 嗯,说起来挺容易的,男人,谁没有几张银行卡啊。且慢,非也,非也,并不是每个男人都有一张自己的银行卡,或者说,即便有...
    莹光灼华阅读 999评论 3 4