自 9 月 26 日,Oracle JDK 11 正式版本发布以来,一直被大家所看好,因为它是继 6、7、8之后,第一个长期支持的版本「见下图」,而 9 、10 估计多半会夭折了。。。

对于这次的发布,我主要关注的就两个问题:

1、稳定吗?

2、收费吗?

后面的文字主要围绕这两个话题展开的。

一、稳定吗?

其实,对于企业用户来说,稳定可靠才是最重要的。那么刚刚发布的 JDK 11 到底稳定性如何呢?

如果你是付费用户,其实不用担心这个问题。

对于大多数的非付费用户来说,就得要考虑了,只有考虑清楚风险后,才敢迁移。

首先,这次有 OpenJDK 社区的站台「长期支持」,Oracle 提供了免费的 OpenJDK build,并承诺「维护 6 个月」。

再者,Andrew Haley 等社区专家也已经明确保证,会组建并领导「JDK-11-updates」项目,而且还做了相应的保证「见下图」。

就我看来,如果想迁移到 JDK 11 的企业,毫无疑问,前期肯定还是有试错成本的。因此,建议在新的项目中引入 JDK 11,不要乱动稳定的老业务。。。

二、收费吗?

其实关于 Oracle JDK 收费的问题,我记得 16 年,大家都在知乎上面讨论过,当时 R 大给出了完美的回答。

Oracle提供的 Java SE Advanced 系列的产品是收费的,只有在「通用计算」使用范围内是完全免费的。

这里的「通用计算」如何界定?比如,如果你使用了 -XX:+UnlockCommercialVMOptions 的功能,那么就得要收费;或者你将 Oracle Java SE 系列产品在「特殊嵌入式计算系统」中使用也会收费。

时隔两年,JDK 又将是如何收费的呢?

我们先来看一张图。

从上图中,我们可以知道:Oracle 将继续提供JDK 8 免费的公共更新和自动更新,支持个人用户到 2020 年 12 月底,支持商业用户到 2019 年 1 月;换句话说如果想 Oracle 后续继续为你提供 JDK 8 的支持,那么则需要付费。

那么,最新的 JDK 11 又是如何收费的呢?

Oracle 将发布两个不同版本,分别为 Oracle JDK 和 OpenJDK 「除了所附带的许可文件不一样,刚发布的版本几乎完全相同」。

对于 Oracle JDK 来说,支持 BCL 协议,开发人员可以免费使用,但不能用于生产,如果全额付费的话,可支持到 2026 年 9 月。

对于 OpenJDK 来说,支持 GPL 协议「一般只支持到发布的前 6 个月内」,可以用于公司使用,因此,对于JDK 11 来说,应该有JDK 11.0.0,然后是两个安全补丁 11.0.1 和 11.0.2 。如果你要继续使用 Oracle 的 OpenJDK 构建和安全补丁,那么您将必须在发布后的一个月内迁移到 JDK 12,见如下图绿色的部分为免费支持版本。

在此,不得不说 Oracle 太鸡贼了。。。

那问题来了,还有那些可构建 JDK 的产品可供选择呢?

AdoptOpenJDK

官网地址:adoptopenjdk.net

它同样支持 GPL 协议且免费 ,与 Oracle OpenJDK 不同的是,它将在 JDK 11 等主要版本中持续更长的时间。第一次了解它是在 reddit 的一个话题中「见下图」。

最近,AdoptOpenJDK 开发团队表示 JDK 11 版本将在下一个主要版本发布一年后继续使用4年,并且他们将提供持续构建 OpenJDK 的源存储库中创建和发布的安全修补程序。

这里,还需要提一下,AdoptOpenJDK 除了标准的 OpenJDK 构建之外,还可以使用 OpenJ9 进行构建。 OpenJ9 最初是 IBM 的 JVM,但 OpenJ9 现在是 Eclipse的开源。

Red Hat OpenJDK

Red Hat 通过 Red Hat Enterprise Linux「RHEL」提供 OpenJDK 的构建,这是一个付费的商业产品。他们向 OpenJDK 提供非常多的安全补丁,Red Hat 已经运行了 Java 6 和 7 的安全更新项目。Red Hat 构建更好地集成到操作系统中,因此它不是纯粹的 OpenJDK 构建。

IBM

IBM 为 Java 8 及更早版本提供并支持 JDK。他们还使用 OpenJ9 为 AdoptOpenJDK 构建提供商业付费支持。

Azul Zulu

官网地址:zulu.org

这款产品是通过 R 大了解的,它的核心部分就是原汁原味的 OpenJDK ,没有任何额外的改动—— Azul 有时候也会对 OpenJDK 做 bug fix,但这些都是通过提交回到 OpenJDK 去然后再进入到 Zulu Java SE 产品中的。

只有在希望购买 Azul 的技术支持的时候,Zulu 的商业技术支持部分才是收费的;不购买收费的技术支持的话,Azul 也有为 Zulu 提供免费的社区技术支持。

SAP

官网地址:sap.github.io/SapMachine

SAP 根据 GPL+CE 协议为 Jdk 10 及更高版本提供 JDK。他们还有一个商业的闭源 JVM,目前,没有找到任何有关支持它的信息。

这里为各位读者列举了不少可供参考的构建方案,有收费的,有免费的,具体怎么选择,还是看个人吧。

反正,我一直认为免费的反而最贵。。。

如果喜欢我的文字,记得转发或者点赞。

参考

https://www.oracle.com/technetwork/java/javase/eol-135779.html

http://mail.openjdk.java.net/pipermail/jdk-dev/2018-August/001830.html

https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later

https://www.zhihu.com/question/53791269

https://www.reddit.com/r/java/comments/9hd97k/openjdk_vs_adoptopenjdk

https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html

https://access.redhat.com/articles/1299013

https://developer.ibm.com/javasdk/support/lifecycle

原文发布时间为:2018-09-28

本文作者: Java面试那些事儿

本文来自云栖社区合作伙伴“ Java面试那些事儿”,了解相关信息可以关注“Java面试那些事儿”。

JDK 11 是发布了,但收费吗?相关推荐

  1. JDK 11版本时间表

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 在JDK 10发布两天之后,Oracle Java平台组首席架构师Mark Reinhold ...

  2. Apache发布NetBeans 10.0,增强对JDK 11的支持

    Apache软件基金会最近发布了NetBeans 10.0,主要特性包括增强对JDK 11的支持.添加对JUnit 5的支持以及重新集成了PHP.JavaScript和Groovy模块.在路线图上,A ...

  3. 即将发布的 JDK 11 包含了什么?

    JDK 11 最近有什么消息?我们不妨来看一下它的进展情况,包括最新的 JEP 提案. Java 的新版本发布计划意味着总会有一款新的 JDK 即将推出.根据他们的计划,6 月将是 JDK 11 第一 ...

  4. 一篇文章了解新发布的Java JDK 11

    Java JDK 11删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能. Java Development Kit(JDK)11现已普遍可用,可供生产使用,提高了工作效率, ...

  5. 还没用上 JDK 11吧,JDK 12 早期访问构建版使用

    JDK 更新速度快的飞起,JDK 12 早期访问构建版已发布,你现在用到了第几版本? 本周Java的最大新闻可能是JDK 11的正式发布.不过在 6 月底,JDK 11 就已经进入了 Rampdown ...

  6. Java JDK 11:现在可以使用所有新功能

    为什么80%的码农都做不了架构师?>>>    删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能 目录 哪里可以下载JDK 11 Java 11 JDK中 ...

  7. JDK 11 马上就要来了!JDK 12 还会远吗?

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   JDK 11 发布时间马上到来,于此同时,JDK 12 发布时间也已确定 -- 2019年3月19日.是的,6个月之后又能迎来新版本了! 甲 ...

  8. java11模块化开发_【JDK 11】关于 Java 模块系统,看这一篇就够了

    继 2014 年 3 月 Java 8 发布之后,时隔 4 年,2018 年 9 月,Java 11 如期发布,其间间隔了 Java 9 和 Java 10 两个非LTS(Long Term Supp ...

  9. jcmd_jcmd,大约JDK 11

    jcmd NicolasFränkel最近在博客文章" 行业工具OpenJDK 11 "中发布了与OpenJDK 11一起提供的命令行工具的调查. 在那篇文章中,他简要总结了工具j ...

  10. openjdk和jdk_JDK 11:发行候选更新和OpenJDK JDK 11 LTS

    openjdk和jdk JDK 11 计划于 2018年9月25日星期二发布,以实现全面可用性 .OpenJDK jdk-dev邮件列表上的Mark Reinhold消息于2018 年8月16日宣布& ...

最新文章

  1. 静态库调用中“unrecognized selector sent to instance”错误
  2. voc生成xml 代码
  3. 1.段描述符与段选择子
  4. idea2021如何开启RunDashboard
  5. SAP Spartacus 如何使用 cypress 进行端到端自动化测试
  6. svn 的使用(二)
  7. 搭建struts2框架
  8. 用unison来同步你的远程文件夹 - Fwolf's Blog
  9. selenium 验证码——万能码的使用
  10. c 调用mysql密码为空_C语言连MySQL - osc_srnunz15的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. 计算机辅助抗体设计,计算机辅助设计提高单克隆抗体亲和力的研究
  12. git管理github仓库详解
  13. java 数组 转set_java中的list,set,数组之间的转换
  14. java动态字段排序_Java8对多个字段排序
  15. Codeforces 374A - Inna and Pink Pony
  16. Ubuntu16.04编译Android6.0/cm13.0教程及相关错误解决办法
  17. python做小游戏之一小迷宫游戏
  18. Docker参数 -i -t 的作用
  19. Unity5.联机笔记
  20. 云耀服务器切换系统,云耀云服务器切换操作系统

热门文章

  1. mbedtls 交叉编译
  2. linux双核cpu调试软死锁问题,记一次linux通过jstack定位CPU使用过高问题或排查线上死锁问题...
  3. 海洋环境科学概论知识整理--1
  4. 水中机器人电控方案设计
  5. BFS算法(广度优先搜索)java
  6. 微信小程序tab切换,(scroll-view + swiper)可滑动切换,导航栏跟随滚动实现
  7. H5制作平台开发游戏成本解析
  8. 交流电压和电流的有效值计算方法分析
  9. 获取对象上的属性(三种方法)
  10. 网络共享计算机设置方法,如何设置网络共享(局域网共享如何设置)