Java历史

作者: uq | 来源:发表于2019-12-13 14:46 被阅读0次

简介

Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

Java平台是Java语言编写和运行程序所依赖的平台,有三个主要版本:

  • Java SE,Java平台标准版,通常指的是JDK,Java™ Platform, Standard Edition Development Kit。用于桌面系统和服务器上开发或部署的应用程序。
  • Java EE,Java平台企业版,是为企业级应用程序提供的平台,由一系列技术标准组成,包括EJB、JDBC、JTA、Servlet、JSP、JMS、JavaMail等等。
  • Java ME,Java平台微型版,是为嵌入式和移动设备提供的平台。

版本历史

JavaSE历史

  • 20世纪90年代初,Sun公司开发出了Java语言的雏形,应用在家用电器的控制和通信。起初命名为Oka,后由于商标已被注册,改名为Java
  • 1997年02月19日 JDK 1.1
  • 1998年12月08日 J2SE1.2
    • 此版本将JDK改为Java 2 Platform,缩写为J2,并分为三个版本J2SEJ2EEJ2ME
    • 标准版 StandardEdition
    • 企业版 EnterpriseEdition
    • 微型版 MicroEdition
  • 2000年05月08日 J2SE 1.3
  • 2002年02月06日 J2SE 1.4
  • 2004年09月30日 J2SE 5.0
    • 此版本将1.5更改为5.0,5.0为产品版本号,1.5为开发版本号。
  • 2006年12月11日 Java SE 6
    • 此版本将缩写J2改为Java,并去掉了.0
    • J2SE改为Java SE
    • J2EE改为Java EE
    • J2ME改为Java ME
  • 2009年04月15日,发布OpenJDK
  • 2009年04月20日,Oracle公司以74亿美元收购Sun公司。
  • 2011年07月28日 Java SE 7
  • 2014年03月18日 Java SE 8
  • 2014年10月,从Java SE 7u71开始 ,Oracle 将在发布重要补丁更新 (CPU) 的同时发布相应的补丁集更新 (PSU)。
    • Java SE 7u71 (CPU)
    • Java SE 7u72 (PSU)
  • 2017年09月,Java的功能更新周期从之前的每两年一个新版本缩减到每六个月一个新版本。
  • 2017年09月21日 Java SE 9
  • 2018年03月20日 Java SE 10
  • 2018年09月25日 Java SE 11
  • 2019年03月19日 Java SE 12
  • 2019年04月16日,Oracle JDK许可从BCL更新为OTN。在2019年4月之后发布的Java SE 8的公开更新将无法用于商业或生产用途。
  • 2019年09月17日 Java SE 13
  • 2020年03月17日 Java SE 14
  • 2020年09月15日 Java SE 15

JavaEE历史

  • 1999年12月12日 J2EE 1.2
  • 2001年09月24日 J2EE 1.3
  • 2003年11月11日 J2EE 1.4
  • 2006年05月11日 Java EE 5
  • 2009年12月10日 Java EE 6
  • 2013年05月28日 Java EE 7
  • 2017年08月31日 Java EE 8
  • 2017年9月12日,Oracle Corporation将Java EE提交给Eclipse Foundation。
  • 2018年2月26日,Eclipse Foundation将名称改为Jakarta EE。
  • 2019年9月10日 Jakarta EE 8

JVM、JRE、JDK

三者相包含关系

JVM,Java Virtual Machine
Java虚拟机,主要功能是将Java字节码,也就是.class文件,转换为机器可识别的机器码。是Java能够跨平台的核心。

JRE,Java Runtime Environment
Java运行时环境,包括JVM和Java的一些基本类库。

JDK,Java Development Kit
Java开发工具包,包括JRE和一系列的组件,如编译器javac、打包工具jar、文档生成工具javadoc、反编译工具javap等等。

Oracle OpenJDK与Oracle JDK

Oracle OpenJDK

  • JDK的源代码。
  • 根据GPLv2+CE许可发行。可以自由使用。

Oracle JDK

  • 基于Oracle OpenJDK构建。
  • JDK的商业版安装包,由Oracle公司维护。
  • 根据ONT许可发行。在没有商业许可的情况下,在2019年4月之后发布的Java SE 8的公开更新将无法用于商业或生产用途。
    • 2019年01月15日 JDK 8u201
    • 2019年01月15日 JDK 8u202
    • 2019年04月16日 JDK 8u211
      ...
    • 2019年10月15日 JDK 8u231
  • java -version输出信息
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

AdoptOpenJDK

  • 基于Oracle OpenJDK构建。
  • JDK的开源版安装包,由开发人员和供应商组成的社区进行维护。
  • 根据GPLv2+CE许可发行。可以自由使用。
  • java -version输出信息
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

其他基于Oracle OpenJDK

参考资料

互联网档案馆:JAVA TECHNOLOGY: AN EARLY HISTORY

维基百科:Java版本历史

Oracle:Java CPU 和 PSU 版本解释

Oracle:Java SE版本更新规则

Oracle:Oracle JDK许可问题

Oracle:Oracle Java SE支持路线图

Oracle:JDK版本日志

JCP:JavaEE版本

StackOverflow:OpenJDK与AdoptOpenJDK区别

相关文章

网友评论

    本文标题:Java历史

    本文链接:https://www.haomeiwen.com/subject/ututnctx.html