目录
一、Java SE的发展历史
1.1. Java版本年历
二、Open JDK 和 Oracle JDK
2.1. Open JDK来源
2.2. Open JDK 和 Oracle JDK的关系
三、小结
Open JDK 官网 http://openjdk.java.net/
一、Java SE的发展历史
Sun公司在1991年成立了一个称为绿色计划( Green Project )的项目,由James Gosling(高斯林)博士领导,绿色计划的目的是开发一种能够在各种消费性电子产品(机顶盒、冰箱、收音机等)上运行的程序架构。这个项目的产品就是 Java语言的前身: Oak(橡树)。Oak当时在消费品市场上并不算成功,但随着1995年互联网潮流的兴起,Oak迅速找到了最适合自己发展的市场定位。
1.1. Java版本年历
JDK Beta - 1995
JDK 1.0 - 1996年1月 (真正第一个稳定的版本JDK 1.0.2,被称作 Java 1 )
JDK 1.1 - 1997年2月,增加了JDBC和RMI等特性。
J2SE 1.2 - 1998年12月
J2ME(Java 2 Micro Edition,Java 2平台的微型版),应用于移动、无线及有限资源的环境。
J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境。
J2EE(Java 2 Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。
J2SE 1.3 - 2000年5月,引入了Java HotSpot Virtual Machine,改进了类库,例如Swing和集合框架。
J2SE 1.4 - 2002年2月
J2SE 5.0 - 2004年9月,提供了泛型支持、注解、自动装箱和 enums 等特性。
Java SE 6 - 2006年12月,提升了运行速度,增加了编译器的优化等。
Java SE 7 - 2011年7月,增加了switch语句的枚举支持、try-with-resources语句、支持二进制字面量等。
Java SE 8(LTS) - 2014年3月,增加了函数式编程特性,如Lambda表达式。
Java SE 9 - 2017年9月,模块化系统、改进的JVM和性能提升、接口的私有方法等。
Java SE 10(18.3) - 2018年3月,改进JIT编译器、局部变量类型推断、线程本地管道等。
Java SE 11(18.9 LTS) - 2018年9月,改进ZGC、移除了CMS垃圾回收器等。
Java SE 12(19.3) - 2019年3月,增加了对Vaadin Flow的支持、Context-aware type data levels等。
Java SE 13(19.9) - 2019年9月,Switch表达式、文本块、edn 支持等。
Java 14.0 (Loom) - 2020年3月,预览了虚拟线程,引入了模式匹配等新特性。
Java 15.0 (Malica) - 2020年9月,ZGC到GPL转换、Unix域套接字、EdDSA支持等。
Java 16.0 (Mondain) - 2021年3月,Vector API、NullPointerExceptions在switch表达式中、G1的并行完全垃圾回收等。
Java 17.0 (Rhombus) - 2021年9月,Sealed classes、Text Blocks等新特性。
我们可以看到Java SE的主要版本大约每两年发布一次,直到Java SE 6到Java SE 7开始花了五年时间,之后又花了三 年时间到达Java SE 8。
二、Open JDK 和 Oracle JDK
2.1. Open JDK来源
Java 由 Sun 公司发明,Open JDK是Sun在2006年末把Java开源而形成的项目。也就是说Open JDK是Java SE平台版的开源和免费实现,它由 SUN 和 Java 社区提供支持,2009年 Oracle 收购了 Sun 公司,自此 Java 的维护方之一的SUN 也变成了Oracle。
2.2. Open JDK 和 Oracle JDK的关系
大多数 JDK 都是在 Open JDK 的基础上进一步编写实现的,比如 IBM J9, Oracle JDK 和 Azul Zulu, Azul Zing。
Oracle JDK完全由 Oracle 公司开发,Oracle JDK是基于Open JDK源代码的商业版本。此外,它包含闭源组件。
Oracle JDK根据二进制代码许可协议获得许可,在没有商业许可的情况下,在2019年1月之后发布的Oracle Java SE 8 的公开更新将无法用于商业或生产用途。但是 Open JDK是完全开源的,可以自由使用。
在Open JDK官网中,JDK Enhancement Proposals代表了JDK增强建议,通俗的讲JEP就是JDK的新特性。日后在JDK新特性发布后,我们都可以在此处查看。
三、小结
Oracle JDK是基于Open JDK源代码的商业版本。我们要学习Java新技术可以去Open JDK 官网学习。