距离 Java 11 的正式发布已过去一个多月,而 Java 12 也正在赶来的路上。根据此前开源中国发起的一项关于开发者使用的 Java 版本的调查,Java 8 仍然是开发者的主流选择,而 Java 11 是 Java 8 之后的首个 LTS 版本,所以有不少开发者表示会选择升级至 Java 11。按照 Java 的发布计划,Java 12 将于明年 3 月推出。那么问题来了,我们是应该采用 Java 12,还是坚持使用 Java 11 呢?编译自https://blog.joda.org/2018/10/adopt-java-12-or-stick-on-11.html
原文作者 Stephen Colebourne 是一名 Java 开发者,同时也是一位知名的 Java 博主和会议演讲者。
模式 | 旧的发布模式 | 新的发布模式 | ||
升级系列 | Java 主要版本 | Java 更新版本 | Java 版本系列 | Java 补丁版本 |
频率 | 每隔3年左右 | 每6个月一次 | 每6个月一次 | 每3个月一次 |
版本 | 6 -> 7 -> 8 | 8 -> 8u20 -> 8u40 | 11 -> 12 -> 13 | 11 -> 11.0.1 -> 11.0.2 |
语言变化 | √ | ✘ | √ | ✘ |
JVM 变化 | √ | ✘ | √ | ✘ |
主要的功能增强 | √ | ✘ | √ | ✘ |
添加的 classes/methods | √ | ✘ | √ | ✘ |
移除的 classes/methods | ✘ | ✘ | √ | ✘ |
新的弃用 | √ | ✘ | √ | ✘ |
内部功能增强 | √ | √ | √ | ✘ |
JDK 工具变更 | √ | √ | √ | ✘ |
Bug 修复 | √ | √ | √ | √ |
Security 补丁 | √ | √ | √ | √ |
“Java 8 和 11 作为 LTS 版本会持续获得我们的正式支持,对于过渡版本,我们也会尽最大努力支持。如果你升级到 Java 11,我们非常愿意和你合作,但它们不会获得正式的生产环境支持。因为长期支持版本才是我们关注的重心,对于 Java 12 及更高版本我们会尽最大的努力。”作为典型软件供应商的一个例子,Liferay 声明如下:
Liferay 已决定不会对 JDK 的每个主要版本进行认证。我们将选择遵循 Oracle 的主导并仅认证标记为 LTS 的版本。—— Liferay博客总结相信肯定已经有开发团队采用了新版本的 Java,但希望他们是经过思考判断之后做出的决定。除了文章中提到的问题,还会有很多其他在升级前需要思考的因素,欢迎在评论中留下你的看法。
欢迎光临 谷动谷力 (http://bbs.sunsili.com/) | Powered by Discuz! X3.2 |