结论:JDK 8分情况 8u211和之后的版本商用需付费,JDK 9/10 免费 JDK 11及以上所有版本商用需付费

免费建议:JDK 8 使用8u202 版本,JDK8以上版本使用OpenJDK或大型机构替代版本Zulu JDK 、Amazon Corretto JDK等

下文没有特别说明,JDK无修饰词的说法一般指Oracle JDK

自2019年4月16日起,Oracle JDK许可证的发行版已更改。

注:之前放出了一月修改的消息,最终为4月份修改

版本和使用协议分析

大版本号

第一版正式版发布日期

免费版本

授权协议

收费版本

授权协议

JDK 8 LTS

2014年3月14日

8u202 和之前的版本

BCL协议

8u211 和之后的版本

OTN

JDK 9

2017年9月21日

所有

BCL协议

   

JDK 10

2018年3月20日

所有

BCL协议

   

JDK 11 LTS

2018年9月25日

 

所有版本

OTN

JDK 12

2019年3月19日

   

所有版本

OTN

JDK 13

2019年9月17日

   

所有版本

OTN

JDK 14

2020年3月17日

   

所有版本

OTN

JDK 15

2020年9月15日

   

所有版本

OTN

JDK 16

     

所有版本

OTN

JDK 17 LTS

     

所有版本

OTN

发布周期问题

在java8和之前的版本,发布周期不定,从java9之后,版本改成了每6个月一个版本,可以参考JEP322

http://openjdk.java.net/jeps/322

协议更新问题

BCL协议

https://www.oracle.com/downloads/licenses/binary-code-license.html

OTN协议

https://www.oracle.com/downloads/licenses/javase-license1.html

Oracle Java SE许可常见问题解答

http://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html

Oracle Java SE支持路线图

https://www.oracle.com/java/technologies/java-se-support-roadmap.html

Oracle产品的终生支持阶段

https://www.oracle.com/support/lifetime-support/

有部分博客分析商用协议时,简单的看了下JDK11的发布时间,简单的认为JDK11的早期部分版本也是BCL协议,实际上通过搜索发布时的相关新闻发现,JDK11发布时的第一个版本就是OTN协议了

BCL体系下的商用情况 大多数功能是免费商用,商用功能需要通过参数开启

-XX:+UnlockCommercialVMOptions 才可以开启的功能。例如说Java Flight Recorder。

注意:知乎上R大的回答时间是2016年和2017年

OTN体系下的商用情况 个人使用为免费,公司使用一般认为是商用

个人使用,不能用于商业生产环境,但是可以用于开发测试以及演示

用于商业生产环境收费,如果想免费使用,Oracle官网推荐你下载OpenJDK

2019年1月 jdk8 结束支持的含义

根据当时的官网提示,当时外界很多解读是jdk8停止维护了,根据后面的更新来看,没有停止维护,但是jdk8根据之前的支持策略,对于JDK8是要提供3年多免费支持+1年商用支持+2年个人用户支持支持的,商用支持到期后立马把这个支持策略改了,变成了高级支持+不定扩展支持+不定持续支持,版本改成小版本快速更新加LTS长期支持的模式,现在定的是三年一个LTS版本,LTS支持期会长一些,非LTS支持也就6个月。

三年维护期免费使用?

目前只有三年一个LTS版本,和OpenJDK免费支持6个月的说法,目前官网没有三年维护期免费使用的说法,现在JDK 11和JDK8最新版都适用于OTN协议,原来有文章分析根据旧版公共更新策略,JDK会更新到2020年12月并保持免费,当时看是对的,现在看不行了。当时没有的文章没有预测到OTN协议会用于JDK8的高版本。

旧版公共更新与新版更新支持策略对比

旧版

1.End of Public Updates Notification 一般是3年

2.Commercial User End of Public Updates

3.Personal User End of Public Updates

新版

1.Premier Support 高级支持 一般是5年

2.Extended Support 扩展支持

3.Sustaining Support 持续支持

其他JDK选项

Open JDK 、Zulu JDK 、Amazon Corretto JDK、AdoptOpenJDK

Oracle JDK高版本商用付费分析相关推荐

  1. Oracle JDK各版本下载汇总

    Oracle JDK各版本下载汇总 Oracle JDK历史版本下载的页面藏的有点深,在此记录下,方便查找下载: Oracle JDK各历史版本下载

  2. JDK 高版本没有VisualVM

    VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,提供强大的分析能力,对 Java 应用程序做性能分析和调优. 在高版本JDK(大于1.8或后期更新的1.8版本)中已经不会再 ...

  3. Oracle SQL 高版本相关

    本文翻译自Troubleshooting: High Version Count Issues (文档 ID 296377.1),有删改 主要内容: 什么是高版本问题 什么是共享SQL? 什么是&qu ...

  4. Oracle jdk 历史版本官方下载地址及下载方法

    平时要新装一个系统环境,或者下载最新的jdk,就需要到oracle官网去下载一个jdk,而目前生产环境都是1.7的环境下开发完成的,需要下载1.7版本的jdk,oracle官方网站的默认下载页面是1. ...

  5. oracle JDK历史版本下载地址(jdk1.8_u120版本开始收费,免费版本可以通过下面地址下载)

    https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html

  6. jdk高版本向下兼容

    假设: 如果jdk是1.8的,但是需求是用1.7的来编译打包 方法如下: 右击项目->properties 选择Project Facets,如果右边是空的,就点箭头指向文字 选择java后面的 ...

  7. Java平台,标准版Oracle JDK 9中的新功能

    Java平台,标准版 Oracle JDK 9中的新增功能 版本9 E77563-05 2017年9月 JDK 9中的新功能概述 Java Platform,Standard Edition 9是一个 ...

  8. JDK各个版本发布时间

    JDK各个版本发布时间 JDK版本 名称 发布时间 1.0 Oak(橡树) 1996-01-23 1.1 1997-02-19 1.2 Playground(运动场) 1998-12-04 1.3 K ...

  9. [转帖] 部分收费的Oracle JDK VS 完全免费的OpenJDK

    来源: http://www.flammulina.com/2018/10/28/%E9%83%A8%E5%88%86%E6%94%B6%E8%B4%B9%E7%9A%84oracle-jdk-vs- ...

最新文章

  1. Eureka控制台下unavailable-replicas怎么解决?
  2. 一个高成熟度组织的规程和指南目录
  3. Docker框架的使用系列教程(三)
  4. 手持光谱分光仪太贵,用什么代替?
  5. java token_Java实现基于token认证的方法示例
  6. 全网首发:JDK绘制文字:七、使用字体图像进行绘制
  7. 运行Wlmadmin无法访问计算机,网络许可证管理员指引.PDF
  8. 判断是否是ie浏览器 前端js_JavaScript判断IE浏览器版本IE6,IE7,IE8
  9. Android studio集成HotFix
  10. python--Venn图及upsetplot进阶
  11. 百度语音识别之拼音识别
  12. 为什么计算机乱字符,电脑键盘按键为什么会错乱 键盘按键错乱原因介绍【详解】...
  13. 牛客小白月赛8 F-数列操作 (有序表)
  14. Centos 8重启网卡命令
  15. ROS基础教程-官网翻译版
  16. 欧氏距离与曼哈顿距离
  17. 第二章——单链表和循环单链表
  18. 记录一次详细在线加密PDF解密过程
  19. Soft-ICE使用说明及实例——破解ACDSee
  20. 第11周项目7-呵呵,真是太乐(泰勒)了

热门文章

  1. STM32之TIM-定时器的使用
  2. matplotlib绘图案例
  3. 中国魅力男人城市排行榜
  4. 43 | 什么时候使用MySQL的分区表?(分区和分表是有区别的)
  5. 可输入未知数的科学计算机,多功能科学计算器
  6. Python灰帽子--黑客与逆向工程师的Python编程之道 笔记,过程问题解决
  7. RTL8721DM(WIFI+BLE+M4+M0双核IOT芯片)数据手册
  8. HTML中margin重合问题
  9. jmeter并发测试
  10. 三极管的几个极的辨别