当前位置: 首页 > 科技观察

明年1月份开始,Oracle要对JDK8收费了,怎么办?_0

时间:2023-03-17 22:19:07 科技观察

JDK8从2019年1月开始收费,怎么办?其实这个问题本身就有问题,因为收费的不是JDK8,而是JDK8的后续更新(update)。什么是更新?如果你已经下载了JDK,你会看到类似8u191、8u192的东西,191,192是更新号。这些更新通常包括对JDK错误的修复,或一些功能更改和增强。以172更新为例:1、本次更新修改了以下两个方法的文档,使文档描述与方法实现一致:awt.Toolkit.getImage(URLu)java.awt.Toolkit.createimage(URLu)2。增加Windows8及以上版本自动显示Swing/AWT文本组件触摸键盘的功能。3.36个bug修复假设JDK8u192是2018年最后一次更新,下载安装后可以继续免费使用,没有任何问题。但是从2019年1月开始,如果你还想获得JDK的更新,抱歉,你需要付费订阅。此订阅服务的价格如下:PC端为每位用户每月2.5美元,服务器/云部署端为每处理器每月25美元,当然量大有优惠。为什么甲骨文要这样做?我推测有两个原因。第一个原因可以理解:OracleJDK8于2014年3月发布,2019年1月正式进入“公共更新结束”。这个版本的Oracle支持将近5年,一个版本的软件不能无限期支持,因为维护成本太高了。第二个原因可能是没有多少人买它的JavaSEAdvanced、JavaSEAdvancedDesktop或JavaSESuite,这三个家伙是什么?我们稍后会解释。大家可能注意到了,刚才讲到JDK的时候,我加了Oracle这个词。这是因为Java虚拟机的规范是开放的,任何人都可以实现。老刘不是在2017年编程改进组第一季的时候就和大家实现了一个极其简单的版本吗?当然不能叫JVM,循环,多态的简单执行引擎。其实现在JDK的provider很多,不像微软的.NET是唯一没有分号的。OpenJDK就不多说了,它是一个免费的开源实现,在GPLLicense下发布,很多Linux发行版都会包含这个OpenJDK。参与开发的大公司包括Oracle、RedHat(被IBM收购)、AzulSystem、IBM、Apple和SAP。OracleJDK就是我们常说的JavaJDK,也是最常用的一种。它是甲骨文公司(收购了开发Java的Sun公司)对JavaSE的实现。如果再细分的话,可以分为OracleJDK和OracleJRE。例如,如果你想玩像我的世界这样需要Java的游戏,你只需要从java.com下载一个JRE。如果要基于Java开发,需要到Oracle技术网(OTN)网站下载JDK。拥有其他公司提供的强大JDK的大公司很可能会开发自己的JDK,比如IBM,它必须为自己的操作系统AIX和z/OS开发SDK。我在IBM工作的时候,根本没用过OracleJDK,公司也不允许。HP和SAP也有自己的JDK,可以针对自己的软硬件进行定制。OracleJavaSEAdvanced、JavaSEAdvancedDesktop和JavaSESuite的名称又长又令人困惑。简而言之,这是一项收费服务。它是Oracle为企业用户提供的一个高级工具和功能,可以监控、部署、管理企业级的Java程序,同时还可以下载那些旧版本的JDK及其更新。换句话说,如果你购买了这个服务,你就不用担心JDK的更新费用了。但问题是,有多少企业再次使用这项服务?如果您的公司正在使用它,请告诉我们。所以我猜Oracle玩了点小把戏。以后不再使用这种收费服务。这些高级功能与JDK更新打包在一起,统一到一个新的服务中,就是前面提到的订阅服务。综上所述,如果你的公司购买了JavaSEAdvanced(或AdvancedDesktop),JavaSESuiteLicense,你什么都不用担心,你是安全的。如果您的公司正在使用OracleJDK8,并且还想在2019年1月之后获得这些更新和支持,则需要购买Orace订阅服务。如果你的公司一直在升级你的OracleJDK,比如升级到JDK9,你不需要购买任何服务,因为订阅服务主要是解决老版本更新的问题。或者您可以选择没有公开更新的OracleJDK。这也很常见。很多JDK已经很稳定了。比如OracleJDK7的发布日期是2011年7月,“EndofPublicUpdates”是2015年4月。我估计现在还有很多公司还在用JDK7,没有公开更新版本!如果存在巨大的安全漏洞而无法升级JDK,则必须购买订阅服务来修复它。当然你的公司也可以选择纯开源的OpenJDK。注意,我这里说的都是公司,都是为了商业目的。如果你只是个人学习Java,那对你没有影响!,欢迎批评指正。