Java 的前世今生
名字来源
Java 是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java 语言中的许多库类名称,多与咖啡有关:如 JavaBeans(咖啡豆)、NetBeans(网络豆)以及 ObjectBeans(对象豆)等等。SUN 和 JAVA 的标识也正是一杯正冒着热气的咖啡。
语言起源
Java 平台和语言最开始只是 SUN 公司在 1990 年 12 月开始研究的一个内部项目。SUN 公司的一个叫做帕特里克 · 诺顿的工程师被自己开发的 C 和 C 语言编译器搞得焦头烂额,因为其中的 API 极其难用。帕特里克决定改用 NeXT,同时他也获得了研究公司的一个叫做 “Stealth 计划” 的项目的机会。
“Stealth 计划” 后来改名为 “Green 计划”,JGosling(詹姆斯 · 高斯林)和麦克 · 舍林丹也加入了帕特里克的工作小组。他们和其他几个工程师一起在加利福尼亚州门罗帕克市沙丘路的一个小工作室里面研究开发新技术,瞄准下一代智能家电(如微波炉)的程序设计,SUN 公司预料未来科技将在家用电器领域大显身手。团队最初考虑使用 C 语言,但是很多成员包括 SUN 的首席科学家比尔 · 乔伊,发现 C 和可用的 API 在某些方面存在很大问题。
工作小组使用的是内嵌类型平台,可以用的资源极其有限。很多成员发现 C 太复杂以至很多开发者经常错误使用。他们发现 C 缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。
根据可用的资金,比尔 · 乔伊决定开发一种集 C 语言和 Mesa 语言搭成的新语言,在一份报告上,乔伊把它叫做 “未来”,他提议 SUN 公司的工程师应该在 C 的基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展 C 的功能,他自己称这种新语言为 C--,但是后来他放弃了。他将要创造出一种全新的语言,被他命名为 “Oak”(橡树),以他的办公室外的树而命名。
就像很多开发新技术的秘密的工程一样,工作小组没日没夜地工作到了 1992 年的夏天,他们能够演示新平台的一部分了,包括 Green 操作系统,Oak 的程序设计语言,类库,和其硬件。最初的尝试是面向一种类 PDA 设备,被命名为 Star7,这种设备有鲜艳的图形界面和被称为 “Duke” 的智能代理来帮助用户。1992 年 12 月 3 日,这台设备进行了展示。
同年 11 月,Green 计划被转化成了 “FirstPerson 有限公司”,一个 SUN 公司的全资子公司,团队也被重新安排到了帕洛阿尔托。FirstPerson 团队对建造一种高度互动的设备感兴趣,当时代华纳发布了一个关于电视机顶盒的征求提议书时(Requestforproposal),FirstPerson 改变了他们的目标,作为对征求意见书的响应,提出了一个机顶盒平台的提议。但是有线电视业界觉得 FirstPerson 的平台给予用户过多地控制权,因此 FirstPerson 的投标败给了 SGI。与 3DO 公司的另外一笔关于机顶盒的交易也没有成功,由于他们的平台不能在电视工业产生任何效益,公司再并回 SUN 公司。
1994 年 6、7 月间,在经历了一场历时三天的头脑风暴的讨论之后,约翰 · 盖吉、詹姆斯 · 高斯林、比尔 · 乔伊、帕特里克 · 诺顿、韦恩 · 罗斯因和埃里克 · 斯库米,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着 Mosaic 浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,帕特里克 · 诺顿写了一个小型万维网浏览器,WebRunner,后来改名为 HotJava。同年,Oak 改名为 Java。商标搜索显示,Oak 已被一家显卡制造商注册,因此团队找到了一个新名字。这个名字是在很多成员常去的本地咖啡馆中杜撰出来的。名字是不是首字母缩写还不清楚,很大程度上来说不是。虽然有人声称是开发人员名字的组合:JamesGosling(詹姆斯 · 高斯林)ArthurVanHoff(阿瑟 · 凡 · 霍夫)AndyBechtolsheim(安迪 · 贝克托克姆),或 “JustAnotherVagueAcronym”(只是另外一个含糊的缩写)。还有一种比较可信的说法是这个名字是出于对咖啡的喜爱,所以以 Java 咖啡来命名。类文件的前四个字节如果用十六进制阅读的话,分别为 “CAFEBABE”,就会拼出两个单词 “CAFEBABE”(咖啡宝贝)。
1994 年 10 月,HotJava 和 Java 平台为公司高层进行演示。1994 年,Java1.0a 版本已经可以提供下载,但是 Java 和 HotJava 浏览器的第一次公开发布却是在 1995 年 5 月 23 日 SunWorld 大会上进行的。SUN 公司的科学指导约翰 · 盖吉宣告 Java 技术。这个发布是与网景公司的执行副总裁马克 · 安德森的惊人发布一起进行的,宣布网景将在其浏览器中包含对 Java 的支持。1996 年 1 月,Sun 公司成立了 Java 业务集团,专门开发 Java 技术。
发展历史
- 1995 年 5 月 23 日,Java 语言诞生
- 1996 年 1 月,第一个 JDK-JDK1.0 诞生
- 1996 年 4 月,10 个最主要的操作系统供应商申明将在其产品中嵌入 JAVA 技术
- 1996 年 9 月,约 8.3 万个网页应用了 JAVA 技术来制作
- 1997 年 2 月 18 日,JDK1.1 发布
- 1997 年 4 月 2 日,JavaOne 会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
- 1997 年 9 月,JavaDeveloperConnection 社区成员超过十万
- 1998 年 2 月,JDK1.1 被下载超过 2,000,000 次
- 1998 年 12 月 8 日,JAVA2 企业平台 J2EE 发布
- 1999 年 6 月,SUN 公司发布 Java 的三个版本:标准版(JavaSE, 以前是 J2SE)、企业版(JavaEE 以前是 J2EE)和微型版(JavaME,以前是 J2ME)
- 2000 年 5 月 8 日,JDK1.3 发布
- 2000 年 5 月 29 日,JDK1.4 发布
- 2001 年 6 月 5 日,NOKIA 宣布,到 2003 年将出售 1 亿部支持 Java 的手机
- 2001 年 9 月 24 日,J2EE1.3 发布
- 2002 年 2 月 26 日,J2SE1.4 发布,自此 Java 的计算能力有了大幅提升
- 2004 年 9 月 30 日 18:00PM,J2SE1.5 发布,成为 Java 语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5 更名为 JavaSE5.0
- 2005 年 6 月,JavaOne 大会召开,SUN 公司公开 JavaSE6。此时,Java 的各种版本已经更名,以取消其中的数字 “2”:J2EE 更名为 JavaEE,J2SE 更名为 JavaSE,J2ME 更名为 JavaME
- 2006 年 12 月,SUN 公司发布 JRE6.0
- 2009 年 4 月 7 日 GoogleAppEngine 开始支持 Java
- 2009 年 04 月 20 日,甲骨文 74 亿美元收购 Sun。取得 java 的版权。
- 2010 年 11 月,由于甲骨文对于 Java 社区的不友善,因此 Apache 扬言将退出 JCP。
- 2011 年 7 月 28 日,甲骨文发布 java7.0 的正式版。
- 2014 年 3 月 19 日,甲骨文公司发布 java8.0 的正式版。
最新版本
2015 年 5 月 6 日,Java 平台组的首席架构师 Mark Reinhold 在 JDK 9 开发邮件组发布消息,提出了 Java 9 的时间表。