Java的历史
1991
绿色计划 (Green Project)
1991 年 1 月
一个名为“Green Project”的项目启动。该项旨在为家用电器提供支持,使这些电器智能化并且能够彼此交互。而且这些家电可以由远程客户端控制。Bill Joy、James Gosling、Mike Sheradin 和 Patrick Naughton 是该项目的核心成员。

橡树(Oak)
1991 年 2 月
James Gosling 是该计划的软件负责人和架构师。他最初的目标是为“绿色计划”找到一个适合的语言来运行。他选择了C++,并对有需要的地方进行了扩展。但是这些功能不能满足计划的需要,因此建立一门新的语言成为当务之急。他开始夜以继日地忙于新语言的开发,并将其命名为“Oak”,因为他办公室窗外有一棵橡树。
硬件原型
1991 年 4 月
SPARC 工作站 10 的架构师 Ed Fran k 加入到绿色计划中,并领导硬件开发工作。该计划的目的是开发一个硬件原型,展示“绿色计划”的功能。该计划命名为 star-seven (*7)。*7 计划的成员有 Craig Forrest、Al Frazier、Ed Frank、James Gosling、Patrick Naughton、Joe Parlang、JonPayn、 MikeSheridan 和 Chris Warth。
解释器
1991 年 6 月
James Gosling 开发了 Oak 的解释器。

1992
Java 命名
1992 年 3 月
由于 Oak 已被用作另一种已存在的编程语言名称,因此必须选一个新的名字——它就是 Java,灵感来源于咖啡。

Star-Seven 原型
1992 年 9 月
Star-seven (*7) 带 GUI 的工作原型完成了,并向大家展示了其功能。与此同时绿计划也建立了一套新的语言、一个操作系统、一个硬件平台和一套接口。下面是如*7 原型的 PDA 样机,并由 James Gosling 亲自演示它。我推荐你完整观看整个视频,感受这来自 1991-1992 年的神奇。
视频链接:http://www.youtube.com/watch?feature=player_embedded&v=1CsTH9S79qI
FirstPerson
1992 年 11 月
Green 计划被转化成了“FirstPerson 有限公司”,并作为一个独立实体合并到 Sun 的子公司。
1993
电视机顶盒
1993 年 2 月
FirstPerson 试图从时代华纳获得一个电视机顶盒交互系统的一揽子订单。在那时,由于绿色计划不是很成功,随即失去了时代华纳的订单。于是开发的重心从家庭消费电子产品转到了电视盒机顶盒的相关平台上。
应用开发平台
1993 年 9 月
Arthur Van Hoff 加入了开发组,他的工作是交互平台上的应用开发。
1994
Liveoak 计划
1994 年 6 月
实际上电视交互市场并没有给 FirstPerson 公司带来收益,最终它倒闭了。员工都合并到 Sun 公司。Liveoak 计划启动了,它的目标是使用 Oak 语言设计出一个操作系统。
网络浏览器时代
1994 年 7 月
Patrick Naughton 设计了一个 Web 浏览器,该浏览器内部使用 Java。Liveoak 计划进行了调整,使得 Oak 语言支持互联网。
HotJava
1994 年 9 月
Naughton 和 Jonatha Payne 开始从事名为 HotJava 的以 Java 语言为基础的网页浏览器项目,该项目获得了管理层的广泛认可。
Java 编译器
1994 年 10 月
由 Van Hoff 编写的 Java 编译器用于 Java 语言,之前的编译器由 James Gosling 使用C语言编写。
1995
正式发布
1995 年 5 月
在 SunWorld 大会,Sun 公司正式介绍了 Java 和 HotJava。

Netscape 支持
1995 年 6 月
一次重大突破——Netscape 在它的浏览器中支持 Java。
HotJava
1995 年 9 月
由 Sun 组织的第一次 Java 开发者大会在纽约召开。
Oracle 支持
1995 年 10 月
Oracle 在其将发布的 WWW 网页系统中包含了一个兼容的 Java 浏览器。
Microsoft 支持
1995 年 12 月
更广泛行业接受的信号,Microsoft 在其 IE 浏览器中支持 Java。
1996
1. 0 版本发布
1996 年 1 月
JDK1.0 版本发布
1997
1. 1 版本发布
1997 年 2 月
JDK1.1 版本发布。主要特点是 JDBC、RMI、内部类。
1998
1. 2 版本发布
1998 年 12 月
JDK1.2 版本发布,命名为 Playground。该版本通常被称为 Java 2 版本,是见证重大转变的最流行版本。主要特点是集合框架、JIT 编译器、策略工具、Java 基础类、Java 二维类库和 JDBC 改进。
2000
1. 3 版本发布
2000 年 5 月
JDK1.3 版本发布,命名为 Kestrel。
2002
1. 4 版本发布
2002 年 2 月
J2SE1.4 版本发布,命名为 Merlin。主要特点是 XML 处理、Java 打印、支持日志、JDBC 3.0、断言和正则表达式处理。
2004
5. 0 版本发布
2004 年 9 月
J2SE5.0 发布,命名为 Tiger。主要特点是支持泛型、自动装箱、注释处理、Instrumentation。如果想获得关于所有 Java JDK 的版本和它的特点详情,请参考我的旧文。
2006
Java/Jdk (半)公开源码
2006 年 11 月
Java 宣布将会公开源码,引起了广泛争议。由于设计的证书违背了通常的源码开放条款。或许我们可以称其为半公开。
6. 0 版本发布
2006 年 12 月
Java SE 6 版本发布,命名为 Mustang。主要特点是支持脚本语言、JDBC4.0、Java 编译 API 并整合了 Web 服务。
2010
Oracle 收购 Sun
2010 年 1 月
Oracle 收购 Sun 公司及其产品。现在 Java 由 Oracle 控制。
苹果不再支持 Java
2010 年 10 月
Steve Jobs 声称,苹果将来不再支持 Java。请阅读 James Gosling“关于 Steve Jobs 声明的评论”。
2011
7. 0 版本发布
2011 年 7 月
Java SE 7.0 版本发布,命名为 Dolphin。这个版本距上次发布有 5 年之久,并且只有这个版本花费了这么久。主要特点是支持动态语言、Java nio 包、多重异常处理、try with resourece 功能和诸多小的增强。
Java的历史的更多相关文章
- java各历史版本官网下载
java各历史版本官网下载: http://www.oracle.com/technetwork/java/javase/archive-139210.html
- Java的历史和大事记
Java的历史 在上世纪90 年代初,sun 公司有一个叫做Green 的项目,目的是为家用消费电子产品开发一个分布式代码系统,这样就可以对家用电器进行控制,和它们进行信息交流.詹姆斯·高斯林(Jam ...
- Java基础笔记(1) 语言 JAVA的历史 Java的搭建环境
本文除了搭建是重点,其他的都当阅读小说一样去看就好了,不想看可以直接抓住重点,我会改变颜色勾出重点! 英语是人与人交流沟通的重要方式之一.JAVA:是人与计算机沟通交流重要方式之一.我们除了用java ...
- Java 发展历史
Java自1995诞生,至今已经20多年的历史. Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆 ...
- Java的历史及发展
Java之父:詹姆斯·高斯林 (James Gosling) Java自1995诞生,至今已经20多年的历史. Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语 ...
- Java版本更新历史(ing)
历史版本特性 JDK Version 1.0 开发代号为Oak(橡树),于1996-01-23发行. JDK Version 1.1 于1997-02-19发行. 引入的新特性包括: 引入JDBC(J ...
- Java发展历史
1991年1月 Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统 1991年2月 放弃C++,开发新语言,命名为"Oak" 1991年6月 JamesGosling ...
- java 泛型历史遗留问题
Map<String,Integer> hashMap = new HashMap<String,Integer>(); hashMap.put(); // hashMap.p ...
- JAVA发展历史!
前言 自1946年2月14日世界上首款计算机问世,第一代计算机语言“机器语言”便诞生了,它使用的是最原始的穿孔卡片,这种卡片上使用的语言只有专家才能理解,与人类语言差别极大.这种语言本质上是计算机能识 ...
随机推荐
- vsftpd 修改默认目录
默认配置下: 匿名用户登录 vsftpd 服务后的根目录是 /var/ftp/:系统用户登录 vsftpd 服务后的根目录是系统用户的家目录. 若要修改登录 vsftpd 服务后的根目录,只要修改 / ...
- 8. js中json格式解析
var doc = O_PARAMETER.FJSonStr;(doc为:{"items":[],"nextId":0}) //1.先转为json对象,主要有以 ...
- WebStorage 和 Cookie的区别
sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...
- mongodb固定集合,建立管理员安全验证
建立普通集合 db.createCollections aaa; 建立固定集合名称book capped true 固定集合 size大小 max:文档数量 db.createCollection(& ...
- eclipse 删除所有注释及空白行
Ctrl+F 删除java注释: /\*{1,2}[\s\S]*?\*/ Ctrl+F 删除xml注释: <!-[\s\S]*?--> Ctrl+F 删除空白行: ^\s*\n 选 ...
- 关于 this 和 prototype 的理解
1:this 的理解比较好的书是 <Javascript语言精粹> 平时我们全局写 var a = 1, 其实就是 window.a = 1; var f = function(){}, ...
- c++学习笔记——构造函数
构造函数定义:每个类都分别定义了它的对象被初始化的方式,类通过一个或几个特殊的成员函数来控制其对象的初始化过程,这些函数叫做构造函数. 需要注意的几点: 1:构造函数不能被声明为const的,当我们创 ...
- Autofac 的构造函数注入方式
介绍 该篇文章通过一个简单的 ASP.NET MVC 项目进行介绍如何使用 autofac 及 autofac 的 MVC 模块进行依赖注入.注入方式通过构造函数. 在编写 aufofac 的依赖注入 ...
- LoadRunner ---手动关联与预关联
手动关联 如果脚本很长,那么我们想找到一个脚本中哪些地方是需要关联的并不是一件容易的事情.这时,我们可以通过脚本对比的方法找 ...
- enum 枚举的使用
在程序当中,我们经常定义一些常量来标识一些状态,类型等. 比如 定义订单的状态,可以定义为ORDER_STATUS_CANCEL = 1 表示订单状态为"订单已取消". 但是感觉定 ...