美文网首页嵌牛IT观察
下月起Oracle要对JDK8收费了,怎么办?

下月起Oracle要对JDK8收费了,怎么办?

作者: Shiki_3639 | 来源:发表于2018-12-26 22:22 被阅读0次

    姓名:王梓霖        学号:16020199033

    转载自https://www.ithome.com/0/402/532.htm,有删节。

    【嵌牛导读】:从明年1月开始,Oracle要对JDK8就要收费

    【嵌牛鼻子】:JDK8 java oracle

    【嵌牛提问】:JDK8从2019年1月开始就要收费了,怎么办呢?

    【嵌牛正文】:

    其实这个问题本身就是有问题的,因为收费的并不是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美元,当然,数量多的话可以打折。

    Oracle为什么要这么干呢?

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

    第二个原因可能是没有多少人购买它的Java SE Advanced, Java SE Advanced Desktop或者Java SE Suite,这三个家伙是什么东西? 我们稍后解释。

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

    老刘在2017年编程提高群第一季中,不就和大家一起实现了一个极为简单的版本吗?当然那不能称为JVM,只实现了对Class文件的解析,和一个能实现顺序,分支,循环,多态的简单执行引擎。

    其实现在的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,比如说已经升级到JDK9了,你什么服务都不用购买,因为那个订阅服务主要解决的是老版本的Update的问题。

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

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

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

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

    相关文章

      网友评论

        本文标题:下月起Oracle要对JDK8收费了,怎么办?

        本文链接:https://www.haomeiwen.com/subject/oktllqtx.html