- 2006年,JDK7时,Sun公司成立OpenJDK项目
2006年11月13日的JavaOne大会上,Sun公司宣布计划要把Java开源,在随后的一年多时间里,它陆续将JDK的各部分在GPL v2(GNU Public License v2)协议下公开了源码,并建立OpenJDK组织对这些源码进行独立管理。
除了极少数的产权代码(这部分代码所有权不属于Sun公司,Sun本身也无权进行开源处理)外,OpenJDK几乎拥有了当时SunJDK 7的全部代码,OpenJDK的质量主管曾经表示在JDK7中,SunJDK和OpenJDK除代码文件头的版权注释之外,代码几乎是一样的,所以OpenJDK 7 与 SunJDK 7本质上就是同一套代码库出来的产品。 - 2009年,Oracle收购Sun
2009年4月20日,Oracle宣布正式以74亿美元的价格收购市值曾超过2000亿美元的Sun公司,传奇的Sun Microsystems从此落幕成为历史,Java商标正式划归Oracle所有。 - 2018年,JDK11发布
2018年9月25日,JDK11发布,这是一个LTS版本的JDK,包含17各JEP。
在JDK11以前,OracleJDK中还会存在一些OpenJDK没有的、闭源的功能,即OracleJDK的“商业特性”,例如,JDK8起从JRockit移植改造而来的Java Flight Recorder 和 Java Mission Control 组件,JDK10的应用共享功能,JDK11中的ZGC收集器。
随着JDK11的发布,Oracle把JDK11以前的商业特性全部开源给了OpenJDK。到了这个阶段,我们可以认为OpenJDK和OracleJDK的代码在本质上时完全相同的。如果拿OpenJDK中的源码跟对应版本的JRL许可证形式开放的OracleJDK源码互相比较的话,除了文件头的版权注释之外,其余代码几乎是相同的。
我们通常说的JDK是指,OracleJDK,其开源形式仅用于研究使用。
而OpenJDK,对于经常使用Linux或者MacOS操作系统的用户来说,OpenJDK不会陌生,因为内置的或者通过软件源安装的JDK都是OpenJDK。
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)



