为什么Oracle JDK 9 下载结束这么早?
Why Oracle JDK 9 download ends so early?
我想在我的机器上安装 JDK 9,访问 JDK 官方下载页面,惊讶地看到,
Java SE 9 has reached end of support. Users of Java SE 9 should switch to Java SE 10. Please visit our Java SE Downloads page to get the current version of Java SE. You will be redirected to the Java SE Downloads page in ... seconds. Please update your bookmarks to the Java SE Downloads page.
我做了一些谷歌搜索和 Java 发布历史等。但找不到任何具体原因。
我有几个问题-
- Oracle 仍在支持 JDK 1.8,但停止发布对 JDK 9 的更新,为什么?
- 我是不是应该继续使用JDK 1.8一段时间然后直接切换到JDK 10?
过去,Java 主要版本往往会加载影响深远的功能,这些功能对您可以而且应该编写的代码产生巨大影响,例如泛型 (Java 5 ) 和函数结构 (Java 8).
随着 Java9 Oracle 引入了一个新的模块化系统(Jigsaw 项目),它也对 JVM 架构产生了巨大影响(尽管对语言语法影响不大)。由于与 Java 社区的其他有影响力的成员对该功能的实施存在分歧,他们不得不两次推迟 Java 9 的发布。
据推测,甲骨文从中吸取了教训,决定全面改革 Java 的开发风格,如果您愿意,可以更加增量或 "agile"。他们不想让功能加载的主要版本有时需要很多年才能完成,他们希望每六个月按固定的发布时间表发布每个新功能较少的主要版本。
Java 9 和 Java 10 是计划使用此新版本模型的前两个版本,Java 9 已随着 Java 10 的发布而弃用。 Java11,2018 年 9 月发布is a Long Term Support (LTS) release with support until 2026。这与许多人习惯的 Ubuntu 发布模型非常相似(附带说明,他们甚至计划用涉及发布年份和月份的内容替换版本号,类似于 Canonical 是用 Ubuntu 做,但出于某种原因放弃了这个想法)。
使用 Java 的非 LTS 版本现在意味着承诺每 6 个月更新一次使用 JDK 的软件。它不应该像过去将代码从一个主要 Java 版本迁移到另一个版本那样复杂,因为如前所述,语言更改应该以更渐进的方式发生,但这绝对是需要考虑的事情。如果你不想做出这个承诺,你应该坚持使用 LTS 版本,这意味着坚持使用 Java 8 或 Java 11.
对于新的 "greenfield" 项目,Java 11 很可能是目前的最佳选择。但如果要使用的工具链还不完全支持 Java 11,则可能有必要坚持使用 Java 8。
显然,未来 Oracle 希望每三年或每第 6 个版本发布一个 LTS 版本,因此预计在 Java 11 之后的下一个 LTS 版本是 Java 17 in September 2021。
Oracle 过渡到限时发布。这意味着您将每 3 个月获得一个新的 Java 版本,每隔几年获得一个长期版本。
长期版本预计将在下一个版本后得到 3 年的支持,因此我预计要到 2019 年底或 2020 年初的某个时间才会发布新的 LTS 版本,因为 2020 年 12 月将结束对JDK 8.
我想在我的机器上安装 JDK 9,访问 JDK 官方下载页面,惊讶地看到,
Java SE 9 has reached end of support. Users of Java SE 9 should switch to Java SE 10. Please visit our Java SE Downloads page to get the current version of Java SE. You will be redirected to the Java SE Downloads page in ... seconds. Please update your bookmarks to the Java SE Downloads page.
我做了一些谷歌搜索和 Java 发布历史等。但找不到任何具体原因。
我有几个问题-
- Oracle 仍在支持 JDK 1.8,但停止发布对 JDK 9 的更新,为什么?
- 我是不是应该继续使用JDK 1.8一段时间然后直接切换到JDK 10?
过去,Java 主要版本往往会加载影响深远的功能,这些功能对您可以而且应该编写的代码产生巨大影响,例如泛型 (Java 5 ) 和函数结构 (Java 8).
随着 Java9 Oracle 引入了一个新的模块化系统(Jigsaw 项目),它也对 JVM 架构产生了巨大影响(尽管对语言语法影响不大)。由于与 Java 社区的其他有影响力的成员对该功能的实施存在分歧,他们不得不两次推迟 Java 9 的发布。
据推测,甲骨文从中吸取了教训,决定全面改革 Java 的开发风格,如果您愿意,可以更加增量或 "agile"。他们不想让功能加载的主要版本有时需要很多年才能完成,他们希望每六个月按固定的发布时间表发布每个新功能较少的主要版本。
Java 9 和 Java 10 是计划使用此新版本模型的前两个版本,Java 9 已随着 Java 10 的发布而弃用。 Java11,2018 年 9 月发布is a Long Term Support (LTS) release with support until 2026。这与许多人习惯的 Ubuntu 发布模型非常相似(附带说明,他们甚至计划用涉及发布年份和月份的内容替换版本号,类似于 Canonical 是用 Ubuntu 做,但出于某种原因放弃了这个想法)。
使用 Java 的非 LTS 版本现在意味着承诺每 6 个月更新一次使用 JDK 的软件。它不应该像过去将代码从一个主要 Java 版本迁移到另一个版本那样复杂,因为如前所述,语言更改应该以更渐进的方式发生,但这绝对是需要考虑的事情。如果你不想做出这个承诺,你应该坚持使用 LTS 版本,这意味着坚持使用 Java 8 或 Java 11.
对于新的 "greenfield" 项目,Java 11 很可能是目前的最佳选择。但如果要使用的工具链还不完全支持 Java 11,则可能有必要坚持使用 Java 8。
显然,未来 Oracle 希望每三年或每第 6 个版本发布一个 LTS 版本,因此预计在 Java 11 之后的下一个 LTS 版本是 Java 17 in September 2021。
Oracle 过渡到限时发布。这意味着您将每 3 个月获得一个新的 Java 版本,每隔几年获得一个长期版本。
长期版本预计将在下一个版本后得到 3 年的支持,因此我预计要到 2019 年底或 2020 年初的某个时间才会发布新的 LTS 版本,因为 2020 年 12 月将结束对JDK 8.