我想在我的机器上安装JDK 9,访问了JDK官方下载页面,惊讶地发现,
Java 9已经达到了支持的极限。Java 9的用户应该切换到Java 10。请访问我们的Java下载页面,以获得Java的当前版本。您将被重定向到Java下载页面。几秒钟。请将您的书签更新到Java下载页面。
我做了一些googling和Java发布历史等等,但是找不到任何具体的原因。
我有几个问题-
发布于 2018-05-14 15:02:08
在过去,Java主要发行版往往会加载影响深远的特性,这些特性对您可以而且应该编写的代码产生了巨大的影响,比如泛型(Java 5)和函数构造(Java 8)。
在Java 9中,Oracle引入了一个新的模块化系统(Jigsaw项目),这也对JVM体系结构产生了巨大的影响(不过,对语言语法影响不大)。由于与Java社区其他有影响力的成员在实现该功能方面存在分歧,他们不得不将Java 9的发布推迟两次。
大概是从中吸取了教训,如果您愿意的话,Oracle决定彻底改变Java的开发风格,使其更加增量或“敏捷”。他们不想让特性加载的主要版本有时需要很多年才能完成,而是希望每隔六个月发布一次新特性较少的主要版本。
Java 9和Java 10是这个新版本模型的前两个版本,Java 9已经被 10的发布否决了。Java 11于2018年9月发布。这与许多人从Ubuntu发布模型中使用的内容非常相似(顺便提一句,他们甚至计划将版本号替换为涉及发布的年份和月左右的内容,类似于Canonical对Ubuntu所做的事情,但出于某种原因放弃了这个想法)。
使用非LTS版本的Java现在意味着承诺每6个月更新一次使用JDK的软件。在过去,它不应该像将代码从一个主要Java版本迁移到另一个版本那样复杂,因为正如所描述的那样,语言更改应该以一种更渐进的方式发生,但这肯定是需要考虑的事情。如果您不想做出这样的承诺,您应该坚持使用LTS版本,这意味着坚持使用Java 8或Java 11。
对于一个新的“绿地”项目,Java 11很可能是目前最好的选择。但是,如果要使用的工具链还没有完全支持Java 11,则可能需要坚持使用Java 8。
显然,在未来,甲骨文希望每三年或每6次发布一次LTS版本,因此下一个LTS版本预计将在Java11之后发布,那就是Java 17于2021年9月。
发布于 2018-05-14 15:19:59
Oracle已转换为时间盒版本。这意味着您将每3个月获得一个新的Java版本,并每隔几年发布一次长期版本。
长期版本预计将在下一个版本发布后3年内得到支持,因此我预计在2019年年底或2020年初之前不会出现新的LTS版本,因为2020年12月是对JDK 8的支持的结束。
https://stackoverflow.com/questions/50332634
复制相似问题