谁将使用 JDK 9?为什么 JDK 9 在生产环境中很少被采用?

2017 年 12 月 6 日 ImportNew

(点击上方公众号,可快速关注)


来源:开源中国社区,

www.oschina.net/news/91166/who-will-use-jdk-9


你有迁移到 JDK 9 的计划吗,是怎么样的?你已经在生产环境中使用 JDK 9 了吗,或者只是在观望中?这篇文章将介绍几个 JDK 9 在生产环境中很少被采用的关键原因。


距离 JDK 9 的发布已过去了几个月,“将应用程序迁移到 JDK 9”这个话题相信在很长一段时间内都会备受开发者的关注和讨论。事实证明,即使不使用任何内部 API(比如“臭名昭着”的 sun.misc.Unsafe 类),也可能会导致应用程序不能在 JDK 9 上启动。


针对这些有关“迁移”的问题,下面介绍一个以“你迁移到 JDK 9 的计划是什么”为主题的民意调查结果,以了解开发者将应用程序移植到 JDK 9 过程中所处的阶段。调查有两次,分别是面向 EMEA 和美洲的开发者。


对于“你迁移到 JDK 9 的计划是什么”主题的调查包含了以下的选择:


  • 已在生产环境中使用 JDK 9

  • 正在迁移到 JDK 9

  • 正在观望中

  • 等待下一个长期支持版的发布

  • 还在使用 JDK 6


具体的调查数据如下:


来自 EMEA (欧洲、中东、非洲三地区的合称)开发者的调查结果



来自美洲开发者的调查结果



综合结果



可以看到,“正在观望中”的开发者占了大多数,而使用旧版本的朋友仍有不少,但意外的是,使用 JDK 9 的用户居然一个都没有。虽然这次调查的样本量可能不够大,但我们相信这确实是比较贴近现实的。


下面说说 JDK 9 很少在生产环境中被采用的原因:


  • 应用程序从 JDK 8 或更早版本迁移至 JDK 9 出现的不兼容变更情况的数量。尽管已经从标准 API 中移除的六种方法不会影响很多人,但是像停止 JVM 启动的命令行选项的数量将是一个障碍。

  • 内部 JDK API 封装的影响。同样,直接受此影响的开发者数量也不会很大,但间接受到影响的开发者数量则很多。因为大多数开发者在开发应用程序时使用了第三方库和框架,有很多这样的库和框架使用封装的 API。虽然大部分已经过测试并提供专门针对 JDK 9 的版本,但仍然有很多还没这样做。对于没有得到积极维护的库或框架来说,这无疑是一个会阻碍迁移至 JDK 9 的问题。

  • 受支持的寿命周期。甲骨文最近宣布将加快 JDK  的发布频率,改为每六个月发布一次。按照改进的发布计划,JDK 9 不是长期支持版本。在这个新方案下,JDK 9 将是以 JDK 8 为基础的第一个“功能”版本。而且由于公共的更新,开发者在决定要部署的 Java 版本时,需要记住一些东西。长期支持版本的更新将至少提供三年,而 JDK 8 的受支持周期更像是四年半。这些版本适用于喜欢稳定的企业,使其能够在单个版本上运行大型的应用程序。


大多数开发者都表示,他们将继续在生产环境中使用 JDK 8,至少直到下一个 LTS 版发布。


根据甲骨文展示的计划,在 LTS 版本之间进行转换对开发者来说颇具挑战性。当 JDK 11 发布时,它将包含可能影响应用程序兼容性的新功能,而且由于 JDK 8 将不再有公共更新,用户面临的只有两种选择,要么选择支付以获得商业支持,要么直接迁移到新的 LTS 版本,并祈求他们的应用程序不会有所破坏并需要进行实质性变更才能正常运行。


参考


  • https://www.azul.com/who-will-use-jdk-9/


看完本文有收获?请转发分享给更多人

关注「ImportNew」,提升Java技能

登录查看更多
0

相关内容

大数据安全技术研究进展
专知会员服务
94+阅读 · 2020年5月2日
【复旦大学-SP2020】NLP语言模型隐私泄漏风险
专知会员服务
25+阅读 · 2020年4月20日
【WWW2020-UIUC】为新闻故事生成具有代表性的标题
专知会员服务
27+阅读 · 2020年3月18日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
美团:基于跨平台框架Flutter的动态化平台建设
前端之巅
14+阅读 · 2019年6月17日
专访阿里亚顿:Serverless与BFF与前端
前端之巅
45+阅读 · 2019年5月8日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
【专题】Facebook遭德国反垄断调查及其影响分析
蚂蚁金服评论
17+阅读 · 2019年4月1日
为什么分布式一定要有消息队列?
互联网架构师
4+阅读 · 2018年7月5日
为什么你应该学 Python ?
计算机与网络安全
4+阅读 · 2018年3月24日
【AI说】揭秘京东实时数据仓库背后的神秘力量—JDQ
Arxiv
5+阅读 · 2020年3月17日
A Modern Introduction to Online Learning
Arxiv
21+阅读 · 2019年12月31日
Arxiv
3+阅读 · 2018年10月5日
Arxiv
4+阅读 · 2018年5月4日
VIP会员
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
美团:基于跨平台框架Flutter的动态化平台建设
前端之巅
14+阅读 · 2019年6月17日
专访阿里亚顿:Serverless与BFF与前端
前端之巅
45+阅读 · 2019年5月8日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
【专题】Facebook遭德国反垄断调查及其影响分析
蚂蚁金服评论
17+阅读 · 2019年4月1日
为什么分布式一定要有消息队列?
互联网架构师
4+阅读 · 2018年7月5日
为什么你应该学 Python ?
计算机与网络安全
4+阅读 · 2018年3月24日
【AI说】揭秘京东实时数据仓库背后的神秘力量—JDQ
Top
微信扫码咨询专知VIP会员