【问题标题】:Why Oracle JDK 9 download ends so early? [closed]为什么 Oracle JDK 9 下载这么早就结束了? [关闭]
【发布时间】:2018-05-14 14:20:36
【问题描述】:

我想在我的机器上安装JDK 9,访问了JDK官方下载页面,看到很惊讶,

Java SE 9 已终止支持。 Java SE 9 的用户应切换到 Java SE 10。请访问我们的 Java SE 下载页面以获取 Java SE 的当前版本。您将在 ... 秒内被重定向到 Java SE 下载页面。请将您的书签更新到 Java SE 下载页面。

我做了一些谷歌搜索和 Java 发布历史等。但找不到任何具体原因。

我有几个问题-

  1. Oracle 仍然支持 JDK 1.8,但停止发布 JDK 9 的更新,为什么?
  2. 是否应该继续使用 JDK 1.8 一段时间,然后直接切换到 JDK 10?

【问题讨论】:

  • 这就是我们所做的,我们完全跳过了 9 次,而去了 10 次。顺便说一句,11 个月之后......
  • Oracle 在几个月前更改了 Java 的发布模型。详情请查看here
  • 这怎么没有关闭,这是一个编程问题超出了我的范围,所以有时可能是一个有趣的地方:)
  • 顺便说一句,没有“JDK 1.9”或“1.10”之类的东西。它是“JDK 9”和“JDK 10”。甚至java.version 系统属性也显示“9”或“10”(好吧,现在它显示“10.0.1”。
  • 为什么不问问 Oracle 为什么不发布更新?

标签: java java-8 java-9 java-10


【解决方案1】:

过去,Java 主要版本往往会加载影响深远的特性,这些特性会对您可以编写并且应该编写的代码产生巨大影响,例如泛型 (Java 5) 和函数式构造 (Java 8)。

Oracle 在 Java 9 中引入了一个新的模块化系统(Jigsaw 项目),这也对 JVM 架构产生了巨大影响(尽管对语言语法影响不大)。由于与 Java 社区其他有影响力的成员在该功能的实现上存在分歧,他们不得不两次推迟 Java 9 的发布。

大概从中吸取了教训,甲骨文决定彻底改革 Java 的开发风格,使其更加增量或“敏捷”,如果您愿意的话。他们不想让功能加载的主要版本有时需要很多年才能完成,而是希望每六个月在固定的发布计划中发布具有较少新功能的主要版本。

Java 9 和 Java 10 是计划使用此新发布模型的前两个版本,Java 9 已随着 Java 10 的发布而弃用。Java 11,于 2018 年 9 月发布 @987654321 @。这与许多人习惯的 Ubuntu 发布模型非常相似(顺便说一句,他们甚至计划用涉及发布年份和月份左右的内容替换版本号,类似于 Canonical 对 Ubuntu 所做的,但出于某种原因放弃了这个想法)。

现在使用非 LTS 版本的 Java 意味着承诺每 6 个月更新一次使用 JDK 的软件。它不应该像过去将代码从一个主要 Java 版本迁移到另一个版本那样复杂,因为如前所述,语言更改应该以一种更渐进的方式发生,但这绝对是需要考虑的事情。如果您不想做出此承诺,则应坚持 LTS 版本,即坚持使用 Java 8 或 Java 11。

对于一个新的“未开发”项目,Java 11 很可能是目前最好的选择。但是,如果要使用的工具链尚未完全支持 Java 11,则可能需要坚持使用 Java 8。

显然,Oracle 未来希望每三年或每 6 个版本发布一个 LTS 版本,因此预计 Java 11 之后的下一个 LTS 版本是Java 17 in September 2021

【讨论】:

  • 除了不是每个 IDE 和其他工具都支持最新的 JDK 功能......所以要小心。成为第一个可能很有趣,但这也意味着第一个发现所有错误:)
  • Java 10 只会是supported until September
  • 好的,但是切换到 Java 11 应该很容易吧?但是,是的,仅将 LTS 版本用于生产可能会更好。 @乔纳森
  • 希望如此!不过我同意,使用 Java 10 是最好的选择,但有限的支持可能会让一些人感到意外。
  • 您的答案应该描述 LTS 是什么以及为什么 Java 9 和 10 仅提供短期支持。如果您无法在 Java 11 发布后立即升级到 Java 11,那么推荐 Java 10 可能是个坏主意。对于负担不起每 6 个月升级一次的用户,Java 8 应该仍然是推荐的版本。
【解决方案2】:

Oracle 已过渡到时间盒版本。这意味着您将每 3 个月获得一个新的 Java 版本,并每隔几年获得一个长期版本。

预计将在下一个版本之后的 3 年内支持长期版本,因此我预计在 2019 年底或 2020 年初之前不会发布新的 LTS 版本,因为 2020 年 12 月将结束对 JDK 8 的支持.

【讨论】:

猜你喜欢
  • 2021-08-23
  • 1970-01-01
  • 2021-04-03
  • 1970-01-01
  • 1970-01-01
  • 2016-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多