最近有不少人问我JDK11是否收费了,所以这里做一个简要的说明。
首先要明白JDK的发布模型。一年多以前,伴随着JDK9的发布,JDK就开启了新的发布模式(如下图所示)。JDK分为OracleJDK、OpenJDK。
OpenJDK
OpenJDK的lience是GPLv2+CPE,可以免费使用。从JDK9开始,OpenJDK每6个月发布一次,也就是每年的3月份、9月份各发布一次,称为feature release。JDK9就是在2017年9月份过GA的。
除了feature release之外,OpenJDK每个季度会提供一个update release。分别在1月份、4月份、7月份和10月份。所以每个feature release之后,都会有两个update release。
再说一次,OpenJDK可以免费使用。
OracleJDK
使用OracleJDK需要commercial license,这个不是免费的。OracleJDK每3年发布一次LTS(Long Term Support)版本,Support的期限是8年。2018年9月发布的JDK11是第一个LTS版本,support到2026年9月。同样,OracleJDK每年也有4个update release。
因为OracleJDK每3年发布一次LTS版本,所以下一次LTS将在2021年9月份发布。
OpenJDK与OracleJDK的区别
之前有一些commercial features没有包含在OpenJDK中,例如:
Java Flight Recorder: http://openjdk.java.net/jeps/328
Java Mission Control: http://openjdk.java.net/projects/jmc/
Application Class-Data Sharing: http://openjdk.java.net/jeps/310
ZGC: http://openjdk.java.net/jeps/333
但是现在这些commercial features已经贡献给了OpenJDK社区,所以从JDK11开始,OpenJDK与OracleJDK基本完全一样。但是它们之间仍然有一些差异,具体查看下面的文章:
https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later
JDK11收费吗?
OpenJDK是免费的。对于想要不断体验新特性的developer来说,是理想的选择。
OracleJDK不是免费的。对于企业用户来说,可能不是太愿意频繁升级,那么就选择OracleJDK。
References
https://www.oracle.com/technetwork/java/javase/eol-135779.html
https://www.oracle.com/technetwork/java/javase/downloads/index.html
https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later
https://www.infoq.com/news/2017/09/Java6Month
--END--
领取专属 10元无门槛券
私享最新 技术干货