Java诞生历史

再比如,Java 语言中的许多库类名称和咖啡有关,像 JavaBeans(咖啡豆)、NetBeans(网络豆)以及 ObjectBeans(对象豆)等等。SUN 和 JAVA 的标识也是一杯正冒着热气的咖啡。
Java 初创期
1995 年初,Sun 对外发布 Java 语言,并提供免费下载,放在互联网上向所有人公开。本次的 Java 发布版本为 JDK BETA。
JDK 全称 Java Development ToolKit,指 Java 语言开发工具包。
同时对外发布可在网页中运行 Java 程序(也叫 Java Applet)的网页浏览器——WebRunner,并将其更名为 HotJava。
与此同时,如日中天的网景也决定让旗下的浏览器对 Java 进行支持。
随后的几个月,Java 引爆互联网,数万人访问 Sun 官网,下载 Java 语言。互联网上立即出现数不清的 Java Applet,演示着小动画、小游戏等。
为了方便开发者能够快速开发出复杂的应用程序,Sun 独立出一条 Java 业务线,专门开发 Java 技术。
1996 年 1 月,Sun 发布 JDK 1.0。这个版本集成了 Java 运行环境和开发工具。
1997 年 2 月,Sun 发布 JDK 1.1。这个版本增加 JDBC、反射等能力。
Java 的出现,让互联网的网页动了起来。但随着 Adobe 公司 Flash 的流行,这款无须任何编程语言知识,就能做出各种动画的软件,逐步侵蚀了 Java 在浏览器端的地位。
有了 Flash 还用 Java 干嘛?Java 存在的意义是什么?Java 定位的问题一直深深困扰着 Sun。
直到 1998 年 12 月,Sun 发布第二代 Java 企业平台,Java 版本为 JDK 1.2,这是 Java 第一个里程碑式的版本。
该版本引入集合框架,Java 基础类库等能力,同时发布了 JSP/Servlet、EJB 等企业平台规范。
1999 年 6 月,Sun 发布 Java 的三个版本:J2SE、J2EE 和 J2ME。
J2SE(Java 2 Platform, Standard Edition):Java 的标准版,用于普通 PC 应用的开发,是 Java 技术的核心与基础,也是 J2ME 和 J2EE 编程基础。
J2EE(Java 2 Platform, Enterprise Edition):Java 的企业版,用于企业级应用开发。
J2ME(Java 2 Platform, Micro Edition):Java 的微型版,用于嵌入式设备及消费类电器的开发。
可以看到,Sun 已经很明确 Java 的定位了,就是向 PC 、企业和移动三个方向发展。
JDK 1.2 影响深远,Java 发生了很多革命性的变化,并且它的很多能力和规范沿用至今。至此,Sun 时代 Java 的初创期结束,进入了飞速发展的阶段。
Java 发展期
2000 年 5 月,J2SE 1.3 发布。该版本将 Hotspot 作为 Java 的默认虚拟机实现。
同期 Servlet 规范开始流行,伴随着互联网的兴起,同其他 MVC 框架,成为 Web1.0 的网红。
2002 年 2 月,J2SE 1.4 发布。该版本的 Java 已经相对成熟,它提供了完备的语言特性,像 NIO、正则表达式和 XML 处理器等。
与此同时,基于 Java 语言的开源框架:Struts、Hibernate、Spring 以及大量企业应用服务器比如 WebLogic、JBoss 等相继涌现,这让 Java 语言继续飞速发展。
2004 年 9 月,J2SE 1.5 发布。这是 Java 第二个里程碑式的版本,为了表示这个版本的重要性,J2SE 1.5 更名为 J2SE 5.0。
该版本增加泛型、for-each 循环、自动装箱和拆箱、枚举、可变参数、静态导入、注解、并发包等。
2005 年,Sun 将 Java 的三个版本更名为 Java SE、Java EE 和 Java ME。J2SE 5.0 也被更名为Java SE 5。
2006 年 12 月,Java SE 6 发布。该版本在语言语法改进不多,但在虚拟机内部做了大量改进,成为相对成熟稳定的一个版本。于是,很多企业都以这个版本作为 Java 开发版本来使用。
同年 Sun 做了一个伟大的决定,将 Java 开源。通过 OpenJDK 计划,将 Java 虚拟机、Java 编译器和 Java 类库以 GPL 公开。
至此,Java 的生态初具规模,Java 的授权使用方式也很明确,Sun 时代 Java 的发展期结束,正走向它的成熟稳定。
Java 稳定期
2009 年,Oracle 收购 Sun,Java 由 Oracle 继续维护。Java 的 Sun 时代终结,正式进入 Oracle 时代。
2011 年 7 月,Oracle 发布 Java SE 7,主要特性是 NIO2 和 Fork/Join 并发包。
2014 年 3 月,Oracle 发布Java SE 8(LTS),这是 Java 第三个里程碑版本,也是长期(一般 3~5 年)支持的一个版本。
该版本不仅引入 Lambda 表达式支持了函数式编程能力,而且还增加了很多新的语言特性,比如 Streams,Date/Time API,集合的并行计算等。
Java SE 8 像 Java SE 6 一样,被很多企业作为开发版本来使用。尤其是新的 Java 应用,当然也有企业会选择把 Java 6 应用升级到 Java 8 应用。
2017 年 9 月,Oracle 发布 Java SE 9,该版本最大特征就是模块化。
2018 年 3 月,Oracle 发布 Java SE 10,该版本新增局部类型推断 var 等特性。
2018 年 9 月,Oracle 发布 Java SE 11(LTS),这是在 Java SE 8 之后又一个长期支持的版本,该版本开始支持 ZGC。
由于 Java SE 8 逐渐停止维护更新,再加上 Java SE 11 各种优秀的特性,而且是长期支持版本,预测未来很多企业将会使用 Java SE 11 作为开发版本来使用。
从这一年开始,Oracle 也宣布,此后 Java 保持每半年一个大版本的更新。

Java诞生历史

上一篇:30道java面试题附答案


下一篇:Faiss使用多线程出现的性能问题