微信号:importnew

介绍:伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等.

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

2017-12-06 12:14 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技能

 
ImportNew 更多文章 只需5个月,编程小白也能掌握机器学习 为什么 Java 不支持多重继承 Redis 分布式锁的正确实现方式( Java 版 ) 没有 Redis 也能支撑 “ 小米在印度把亚马逊搞挂了 ” 事件的 围观!阿里大神多隆,给程序员小哥相亲!
猜您喜欢 纯干货!美女设计总监谈国内首个自主设计的移动OS 理想的程序员 你可能错过的好项目(2.9 - 2.15) 西安 Docker Meetup 就缺你了! R语言入门第二讲:读取数据------函数read.table第二讲