调查显示新发布的Java9不太受欢迎
你有迁移到 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 的受支持周期更像是四年半。这些版本适用于喜欢稳定的企业,使其能够在单个版本上运行大型的应用程序。