Java发展史
Java历史的几个重要节点:
- 1990,Sun公司启动了一个名为“绿色计划”的项目,由James Gosling等领导,目标是开发一种可以在机顶盒等消费性电子产品上运行的程序架构。这个计划产生了Java的前身:Oak,随着1995年互联网的兴起,Oak找到了适合自己的发展方向并最终蜕变成Java。
- 1995年5月23日,Oak正式改名为Java,Java也第一次提出来**“一次编译,到处运行”(Write Once, Run Anywhere)**的口号。
- 1996年1月23日,JDK 1.0发布,Java语言有了第一个正式版本的运行环境。
- 1998年12月4日,Sun公司将Java技术体系分为三个方向:面向桌面应用开发的J2SE(Java 2 Platform, Standard Edition)、面向企业级开发的J2EE(Java 2 Platform, Enterprise Edition)、面向机顶盒等移动终端开发的J2ME(Java 2 Platform, Micro Edition)。
- 2004年9月30日,Sun公司放弃了“JDK 1.x”的命名方式,将版本号修改为“JDK x”,并且发布了JDK 5。
- 2006年11月13日,Sun公司在Java One大会上宣布要将Java开源。在随后的一年多里,Sun公司陆续将JDK各个部分的源码在GPL v2协议下公开,并建立了OpenJDK组织独立管理这些源码。
- 2006年12月11日,JDK 6发布,从这个版本开始,J2SE、J2EE、J2EE的命名方式被Java EE、 Java SE、 Java ME代替。
- 2009年4月20日,Oracle正式收购Sun公司,Java商标也随之归Oracle所有(Java语言本身由JCP组织进行管理,并不属于某家公司所有)。
- 2017年,JDK 9发布。并且,Oracle宣布以后将会在每年的3月和9月各发布一个JDK的大版本,另外,每六个大版本中才会被划分出一个长期支持(Long Term Support)版本。只有LTS版的JDK才可以获得长期的支持和更新,普通版本的JDK只有六个月的生命周期。目前,有4个LTS版本:JDK 8、 JDK 11、 JDK 17、 JDK21。
- 2018年3月,Oracle宣布“按计划报废”Java EE(包含JDBC、Servlet等基础组件),将所有权赠送给Eclipse基金会,且Java EE不准再使用Java的商标,取而代之的是Jakarta EE。
- 2018年9月25日,JDK 11发布,同时Oracle宣布以后将会同时发行两个JDK:一个是在GPL v2+CE协议下由Oracle发行的OpenJDK,一个是在OTN协议下发行的OracleJDK。这两个JDK共享绝大部分代码,在功能上几乎一样。OpenJDK可以免费在开发、测试以及生产环境下使用,但只有半年时间的更新支持;OracleJDK仅允许少数的免费使用场景,若在生产环境中商用就必须收费,且有长期的更新支持。一些公司会在OpenJDK的基础上开发自己的JDK,如阿里巴巴的Dragonwell,OpenJDK的管理以及维护目前由RetHat负责。
注:
-
JavaSE、JaveEE、JavaME三者之间的关系
- JavaSE是基础,面向桌面级应用(如Windows应用),提供了核心库和语言特性
- JavaEE扩展了JavaSE,面向服务端的Web应用,针对企业级应用开发提供了更多的功能和组件,如javax.servlet.*等
- JavaME专注于嵌入式设备和移动设备的应用开发,提供了轻量级的运行时环境和API,如javax.microedition.io.*等
(Android APP开发也使用了Java,但并不是Java ME开发)
- 4个LTS版本更新支持结束时间分别为
LTS版本 | 支持结束时间 |
---|---|
JDK 8 | 2030年12月 |
JDK 11 | 2032年1月 |
JDK 17 | 2024年9月 |
JDK 21 | 2026年9月 |
-
OpenJDK
OpenJDK以及OracleJDK之间具体的历史关系,可以参考博客。