• JDK的收费问题


    关于JDK是否收费,我也有过疑问,查了一些资料,就在这里做一个简要的说明。

      首先要明白JDK的发布模型。两年多以前,2017年9月21日,伴随着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。

    OracleJDK 收费是针对 公司、商业用途的,如果只是个人学习Java的话,这些是没什么影响!

    另外,Oracle 曾在今年四月就宣布,自 2019 年 1 月起,Java SE 8 公开更新将不向没有商用许可证的业务、商用或生产用途提供。

    但我们细读这句话,就会懂得 收费的并不是JDK8 , 而是JDK8后续的update (更新) 。

    什么是update? 如果你下载过JDK, 就会看到那些8u191, 8u192这样的东西,191,192就是update 的编号。

    这些update中通常会包含对JDK bug的fix ,或者一些功能的改变,增强, 拿update 172为例:

      1. 这个update 修改了下面两个方法的文档,让文档描述和方法的实现一致:

            java.awt.Toolkit.getImage(URL u)

            java.awt.Toolkit.createimage(URL u)

      2. 增加了在Windows8 及以上版中,对Swing/AWT 文本组件自动显示触摸键盘的功能

      3. 36个Bug Fix

    假设JDK 8u192是2018年的最后一个update , 你下载并且安装了,那可以继续免费使用下去,没有任何问题。

    但是从2019年1月开始,如果你还想获取JDK的update , 对不起,你需要付费订阅。

    这个订阅服务的价格是这样的:

      对于PC, 每用户每月是2.5美元,对于服务器/云部署,每个processor 每月是25美元, 当然,数量多的话可以打折。

    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

      2019年1月起Oracle要对JDK8就要收费了!

    共同学习,共同进步,若有补充,欢迎指出,谢谢!

  • 相关阅读:
    MongoDB学习笔记(一:常见问题汇总)
    设计模式学习笔记(三:装饰模式)
    设计模式学习笔记(二:观察者模式)
    设计模式学习笔记(一:命令模式)
    Java基础知识笔记(七:接口、变量作用域和参数传递)
    Java基础知识笔记(六:网络程序设计)
    一周总结汇总_2016-09-25
    开涛spring3(8.1)
    开涛spring3(7.5)
    开涛spring3(7.4)
  • 原文地址:https://www.cnblogs.com/dengguangxue/p/11652777.html
Copyright © 2020-2023  润新知