网站首页 > 博客文章 正文
你还在使用Java 8么,使用的又是Oracle JDK 8么?
如果这两个答案的回答都是肯定的,那接下来我要说的就对你是非常有帮助的信息了。
首先申明一点,我不是来劝退你不使用Java 8的,这个事不讨好,我只是来告诉你,如果你还在使用Java 8,那你得关注下它的License以及安全补丁
其实直白点说就是以下两点:
- 我能否免费的使用Oracle JDK 8,不会有潜在的License版权问题
- 我使用的版本,能否继续接收到安全补丁
上述两点,任意一点存在问题,那都意味着你都可能得做出改变以应对可能的风险。
一)
Oracle在2019年4月的时候,对Oracle JDK的License做了一次变更。
- Java SE 8u202及以前的版本,协议是: Binary Code License (“BCL”).
- Java SE 8u211及以后的版本,协议是:Java SE OTN License.
后续,由于争议过大,Java SE 17及以后的JDK版本,又变更为Oracle No-Fee Terms and Conditions License协议了。
好吧,也许有点复杂,你会觉得非常绕。
简单点说,大致就是:
- 无论是个人或企业商用,可以免费无偿使用Java SE 8u202及以前的版本,但已经没有安全及补丁更新了
- 一定条件下,如个人或开发阶段,可以免费无偿使用Java SE 8u211及后续的Java SE 11版本。其它如企业商用则需要付费才能使用。
- Java SE 17及之后的LTS版本,可以免费无偿使用,但有一定的支持期限,期限是下一个LTS版本发布之后延长一年。
这样是不是比较容易理解了。
二)
好,有什么影响?
这篇文章只讨论Java SE 8,不讨论Java SE 11及Java SE 17这两个LTS版本。因为相信国内还有相当一部分在使用Java SE 8.
对于使用Oracle Java SE 8的项目来说,通常有以下几种选择
免费使用Java SE 8u202版本
如果你仍在使用Java SE 8u202或之前的版本,那可以放心的一点是,你不用担心需要为此付费的事情。你仍然可以免费使用这个版本。
但问题随之而来,你将不再获取到安全补丁更新了。
对于一个仍然需要继续开发与维护的项目来说,没有安全补丁更新是否是你能接受的一件事情,这是你做为技术负责人要慎重对待的一件事情。
付费使用Java SE 8u211版本
如果你把安全看的非常重要,那选择付费来使用Java SE 8u211及之后的SE 8版本,是个不错的选择。
这仍然是个值得考虑的选择,因为对很多项目来说,相比更换其它JDK或升级至11,17等方案来说,也许付费是更廉价的方案。
三)
还有没有其它选择?
当然还是有的,以下也是你可以考虑的选择之一。
使用OpenJDK
上述的版权限制,都是针对Oracle JDK而言的,但JDK并不只有Oracle JDK,还有其它很多不同的JDK可供你选择。
比如,你一定知道的OpenJDK,它是一个完全开源免费的版本,你不需要为使用OpenJDK付费。
由于Oracle在19年4月的这个改变,在业界造成了很大的争议,许多团队已经迁移至使用OpenJDK了,OpenJDK的使用占比已经高于Oracle JDK了
基于OpenJDK的其它发行版本
其实,不只是OpenJDK,许多大公司基于OpenJDK都发行与维护着自己的JDK,列举一些如下:
- Red Hat Build of OpenJDK
- Microsoft Build of OpenJDK
- Eclipse Temurin by Adoptium
- 阿里的Dragonwell
等,这个列表其实可以很长。这些JDK发行版本都是由一些大公司基于OpenJDK构建的,也都是开源的,并且提供了一定的支持时间。
但很多Java程序员会疑问,OpenJDK与Oracle JDK究竟有什么区别,这些不同的OpenJDK发行版本是否可靠?
关于OpenJDK与Oracle JDK的区别,后续我单独再聊一下这个话题。
现在OpenJDK与Oracle JDK的代码几乎完全一样,所以可靠性是完全不用担心的,而显而易见的一个事实是,大公司自己都在用自己的发行版本,能不可靠?
使用 Oracle JDK 17
如果你确实特别喜欢Oracle JDK,或只信任它。在不付费又想要有安全补丁的前提下,你仍然可以选择使用Oracle JDK 17.
Oracle JDK 17是基于Oracle No-Fee Terms and Conditions License协议,无论是个人或是商用,都可以无偿使用,只是有一定的时间限制。
Oracle宣称,这是在它们听到企业的期望之后做出的改变,因为大多数企业仍然期望使用Oracle JDK。
四)
最后,说一下关于Java SE 8的问题。
做为一个架构师,你需要明白一点:
不使用Java SE 8,并不是一个你可以选择的事情,它只是一个时间问题
无论你有多少理由或困难在前,让你想继续使用Java SE 8,你要明白,Java SE 8终有告别的一天,它只是一个时间上的问题。
- 上一篇: JDK11升级JDK17最全实践干货来了
- 下一篇: Oracle又双叕开始严查JDK,连夜提桶跑路
猜你喜欢
- 2025-01-11 JDK 8中JAVAFX的终结:保持应用程序存活
- 2025-01-11 尝试将springboot2.7.11升级到3.2.3
- 2025-01-11 Java开发环境安装指南
- 2025-01-11 Java入门第一天
- 2025-01-11 Java后端开发岗,从基础到进阶,小白面试必问的6个技术栈
- 2025-01-11 Java Spring应用部署在单台阿里云或腾讯云Windows服务器上
- 2025-01-11 Java路径-02-Java环境配置
- 2025-01-11 600+ 道 Java面试题及答案整理(建议收藏)
- 2025-01-11 Java 近期更新:OpenJDK JDK Jakarta EE Spring等
- 2025-01-11 【基础】JAVA的JDK安装使用(收藏)
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 357℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)