作者 | 刘欣

本文经授权转自公众号“码农翻身”

JDK 8 从 2019 年 1 月开始就要收费了,怎么办呢?

其实这个问题本身就是有问题的,因为收费的并不是 JDK 8 , 而是 JDK 8 后续的 Update (更新) 。

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

这些 Update 中通常会包含对 JDK Bug 的修复,或者一些功能的改变、增强,这里用 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 美元,当然,数量多的话可以打折。

Oracle 为什么要这么做呢?

我推测有两个原因, 第一个原因可以理解: Oracle JDK 8 2014 年 3 月发布,到 2019 年 1 月正式进入“End of Public Updates”,这个版本 Oracle 支持了将近 5 年时间,一个版本的软件不可能无限期地支持下去,那样维护成本太高。

第二个原因可能是没有多少人购买它的 Java SE Advanced、Java SE Advanced Desktop 或者 Java SE Suite,或许很多人并不能理解这三个是什么?我们稍后解释。

你也许注意到了, 我刚才再说 JDK 的时候,特别加上了 Oracle 这个词,这是因为 Java 虚拟机的规范是开放的,任何人都可以去实现。

所以现在的 JDK 提供者非常多,不像微软的 .NET,独此一家,别无分号。

Open JDK

这个不多说,免费的开源实现,以 GPL License 发布,很多 Linux 发行版中都会包含这个 Open JDK 。

参与开发的大佬们有 Oracle、RedHat (已被 IBM 收购)、Azul System、IBM、Apple、SAP。

Oracle JDK

就是我们常说的 Java JDK,也是最常用的一个,是 Oracle 公司(收购了开发 Java 的 Sun 公司)对 Java SE 的实现。

如果更详细分的话,可以分为 Oracle JDK 和 Oracle JRE。

比如你想玩 Minecraft 这样需要 Java 的游戏,那只需要从 java.com 下载一个 JRE 就够了。

如果你想基于 Java 做开发,那就需要从 Oracle Technology Network(OTN)网站上下载 JDK 了。

其他公司提供的 JDK

有实力的大公司,都有可能开发自己的 JDK ,比如 IBM ,肯定要为自家的操作系统 AIX,还有 z/OS 开发 SDK。

我在 IBM 工作的时候,根本就没有用过 Oracle JDK,公司也不让用啊。

HP、SAP 也有自己的 JDK,可以为自己的硬件和软件做定制。

Oracle Java SE Advanced、Java SE Advanced Desktop、Java SE Suite 这名字很长,也有点费解,简单来说,这是个收费的服务, 是 Oracle  为企业级用户提供的高级工具和功能,可以监控、部署、管理企业级的 Java 程序,与此同时,你还可以下载那些老版本的 JDK 及其 Update。

换句话说,如果你购买了这个服务,自然就不用担心什么 JDK Update 收费的问题。

但是问题在于,到底有多少公司再使用这个服务? 如果你的公司在使用,欢迎告知。

所以我猜测 Oracle 耍了一点小手段, 以后不要这个收费的服务了,把这些高级的功能加上 JDK Update 打包,统一成一个新的服务,就是之前说的订阅服务。

总结一下

如果你的公司已经买了这个 Java SE Advanced (或者 Advanced Desktop), Java SE Suite 的 License,什么都不用担心,你很安全。

如果你的公司正在使用 Oracle JDK 8 并且还想在 2019 年 1 月之后获得更新和支持,你需要购买 Orace 的订阅服务。

如果你的公司一直在在升级你的 Oracle JDK ,比如说已经升级到 JDK 9 了,你什么服务都不用购买, 因为那个订阅服务主要解决的是老版本的Update 的问题。

或者可以选择一个没有 public update 的 Oracle JDK , 这也很常见,很多 JDK 已经非常稳定了,比如 Oracle JDK 7 发布日期是 2011 年 7 月,“End of Public Updates” 是 2015 年 4 月,我估计现在还有不少公司还在使用 JDK 7 这个已经没有 public update 的版本吧!

如果真的出现了巨大的安全漏洞,你又没法升级 JDK,那只好去购买订阅服务去修复了。

当然,你的公司也可以选择纯开源 OpenJDK。

注意,我这里说的都是公司,都是商业用途,如果只是个人学习 Java 的话,没什么影响!


 热 文 推 荐 

☞ 这是 1000 万程序员都想要的格子衫!

☞ 为什么大公司一定要使用 DevOps?

☞ 阿里涉足零售 IoT 的猜想

☞ 刚发布!Python 一二线城市月薪 15K 起!12 月再夺语言榜首

☞ 为什么都瞧不起培训班出来的程序员?

用对这30种秘密武器, 你也能成为区块链高手!

☞ MIT新福利,2019人工智能公开课上线啦!

“车联网”最强科普!据说它是未来五年5G兴衰的晴雨表?

print_r('点个赞吧!');
var_dump('点个赞吧!');
NSLog(@"点个赞吧!");
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!");
Response.Write("点个赞吧!");
alert("点个赞吧!")
echo "点个赞吧!"

点击“阅读原文”,打开 CSDN App 阅读更贴心!

下个月,Java 开启收费模式!相关推荐

  1. 【转载】 下个月,Java 开启收费模式!

    转载来源:https://new.qq.com/omn/20181222/20181222A08TXO.html 下个月,Java 开启收费模式! 作者 | 刘欣 本文经授权转自公众号"码农 ...

  2. 企业微信接口开启收费模式,意在第三方生态健康发展

    企业微信官方在5月9日一篇"面向服务商进行收费模式调整的说明",在服务商中一石激起千层浪,引发不少的讨论,此次企业微信官方意在何处,对于服务商与企业用户又会出现什么影响. 首先我们 ...

  3. 开启收费模式,ChatGPT 试行 20 美元即享 Plus 体验,谷歌慌了!

    整理 | 何苗 出品 | CSDN(ID:CSDNnews) OpenAI 在 1 月初就 "开始考虑如何使 ChatGPT 货币化",近日,OpenAI 确实为 ChatGPT  ...

  4. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...

  5. java企业号回调模式,微信公众平台企业号开发—开启回调模式

    2014年9月17日,微信发布了期待已久的企业号.网上关于企业号的教程几乎还是0,所以这里分享一下的我的开发经验. 对比于订阅号和服务号的开发,企业号的开发显得更加复杂一点.这大概也是腾讯考虑到企业信 ...

  6. 我的世界java旁观者模式_我的世界基岩版开启旁观者模式教程

    我的世界基岩版中的旁观模式,可以穿过方块, 可以通过左键生物进入它们的视角,那么旁观者模式该如何开启呢,下面就给大家带来我的世界基岩版开启旁观者模式教程,一起来看看吧. 前言 Minecraft中文W ...

  7. 【微信开发】微信开发 之 开启开发模式

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20494177 . GitHub源码位置 : -- HT ...

  8. linux tomcat apr安装,Linux下Tomcat安装并开启APR模式-Go语言中文社区

    环境: CentOS 7.6 64位 apache-tomcat-8.5.43.tar.gz 安装步骤: 1.通过Xftp软件上传安装包到/opt目录 2.解压,重命名移动到/usr/local下 [ ...

  9. android user版本默认开启调试模式

    由于项目需要,需要发布版本默认开启调试模式,修改方式如下: 1.开启开发者模式 context.getSharedPreferences(DevelopmentSettings.PREF_FILE,C ...

最新文章

  1. 似然估计中为什么要取对数以GMM为例
  2. c:forEach循环的List为String时的写法
  3. 比较常规治疗登记中阿巴西谱、阿达木单抗、依那西普和英夫利昔单抗治疗类风湿关节炎的疗效和起效时间...
  4. [云炬创业管理笔记]第二章成为创业者讨论4
  5. 通俗易懂。HTTP请求行、请求头、请求体、响应行、响应头、响应体详解
  6. DEVICE_ATTR设置0777引发血案
  7. python 数据挖掘论文,Orange:一个基于 Python 的数据挖掘和机器学习平台
  8. python 网站模板_使用Python抓取模板之家的CSS模板
  9. python蛇术_小蛇学python(16)numpy高阶用法
  10. 12C 新特性--全库缓存
  11. camunda 流程执行追踪_流程引擎为什么选 Camunda
  12. 浙江利捷分析报告(0608)
  13. 目标跟踪算法总结(转载总结)
  14. 阿里巴巴产品经理面试主观题
  15. 电子邮箱地址怎么写?
  16. 安装kali步骤(超级超级详细)
  17. STM32学习心得三十四:外部SRAM原理及实验代码解读
  18. 香港 - 寻找轻鬆攻略游(蒲台岛)
  19. 计算机语言phal语言,2.7 PhalApi 2.x 国际化
  20. windows 电脑锁屏时,WPS软件自带屏保图片保存的位置

热门文章

  1. maven 加入第三方库_添加第三方库到Maven资源库
  2. 用python实现中文词云完整流程(wordcloud、jieba)
  3. 中国糖化酶行业市场供需与战略研究报告
  4. 2021-2025年中国云托管服务行业市场供需与战略研究报告
  5. 一次性输血器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  6. 2021-2025年中国氮化碳行业市场供需与战略研究报告
  7. c语言 strupr,C语言 strupr()用法及代码示例
  8. oracle报ora-08002,ORA-08002: 序列 SEQ_WGB_TEST2.CURRVAL 尚未在此会话中定义
  9. mysql foundrows 并发_MySQL 中的 FOUND_ROWS() 函数
  10. allegro放置器件无法放_洗衣机放卫生间,这几种赶紧学起