剑指JVM:虚拟机实践与性能调优
上QQ阅读APP看书,第一时间看更新

1.4 Open JDK和Oracle JDK

在调整JDK授权许可之后,每次发布JDK的新版本的时候都会同时发布两个新的Open JDK版本和Oracle JDK版本。两个版本的主要区别是基于的协议不同,Open JDK基于GPL协议,Oracle JDK基于OTN的协议。Open JDK的维护期间为半年,即半年更新一个版本,一旦出现问题就需要更新JDK的版本。Oracle JDK的维护期为3年,但是商业使用需要付费。两者之间还有很多代码实现是一样的,例如JDBC、javac、core libraries等,如图1-6所示。

在JDK 11之前,Oracle JDK中还会存在一些Open JDK中没有的、闭源的功能。但在JDK 11中,我们可以认为Open JDK和Oracle JDK代码实质上已经完全一致。

图1-6 Open JDK、Oracle JDK之间的关系