QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

JDK 11 版本时间表

  • 2018-04-24
  • 本文字数:1991 字

    阅读完需:约 7 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

在 JDK 10 发布两天之后,Oracle Java 平台组首席架构师 Mark Reinhold 提出了 JDK 11 GA 发布的时间表:

  • 6 月 28 日:第一阶段开发(从主分支 fork)
  • 7 月 19 日:运行所有测试
  • 7 月 26 日:第二阶段开发
  • 8 月 16 日:初始候选版本
  • 8 月 30 日:最终候选版本
  • 9 月 25 日:正式版

到目前为止,包含在 JDK 11 中的 JEP 有:

JDK 11 的早期体验版本在 JDK 10 发布前的一个月就有了。Reinhold 之前发了推文:

JDK 11 版本包括 JEP 320(移除 Java EE 和 CORBA 模块),因此它们体积更小:减少了 9 个模块,文件大小少了 22 MB。

JEP-320:移除 Java EE 和 CORBA 模块

Java SE 9 的重组包括对 Java EE 和 CORBA 模块的支持,但根据 JEP-277 ,它们立即遭到弃用,并在未来版本中移除掉。

Java EE 模块是自 Java SE 6 发布以来在 JDK 中提供的 Web 服务栈,以方便 Java 开发人员:

  • JSR-224 :基于 XML 的 Web 服务 Java API(JAX-WS)
  • JSR-222 :用于 XML 绑定的 Java 架构(JAXB)
  • JSR-925 :JavaBeans 激活框架(JAF)
  • JSR-250 :Java 平台的常用注解

已经得到确认的是,JDK 不再需要支持这些模块,因为它们已在过去的 12 年中得到很好的发展,并且可以在第三方站点(如 Maven Central)中随时获得。

CORBA 技术早在 1998 年就有了,但大多数现代应用程序已经不使用该项技术,因此 JDK 中可用的 CORBA 模块也将被移除。Oracle 认为继续为 CORBA 提供支持得不偿失。

计划在 JDK 11 中移除的模块包括:

  • java.xml.ws(JAX-WS,以及相关的 SAAJ Web 服务元数据
  • java.xml.bind(JAXB)
  • java.activation(JAF)
  • java.xml.ws.annotation(通用注解)
  • java.corba(CORBA)
  • java.transaction(JTA)
  • java.se.ee(上述六个模块的聚合模块)
  • jdk.xml.ws(JAX-WS 工具)
  • jdk.xml.bind(JAXB 工具)

移除这些模块的风险已在 JEP 320 中得到确认和记录,特别是对于 Java EE 模块:

如果应用程序依赖 JDK 中 Java EE API 和相关工具的支持,那么它们将无法通过编译或运行。这些应用程序在从 JDK 6、7 或 8 迁移到 JDK 9 或更高版本时将遇到二进制和源代码不兼容问题。

移除 Java EE 模块的另一个风险是,如果已使用–add-modules java.se.ee、add-modules java.xml.bind 等命令行标志,那么已经从 JDK 6、7 或 8 迁移到 JDK 9 的应用程序将无法启动。

依赖 RMI-IIOP、javax.activity 包或 CORBA API 的 CORBA 应用程序将无法通过编译或运行。

红帽首席软件工程师 Aleksey Shipilëv 最近发推文说,由于 JAXB 模块被 JEP-320 移除,因此 SPECjbb2015 基准测试在 Java 10+ 上出现了问题。建议加入 JAXB 依赖来解决该问题:

复制代码
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>

新的 Java SE 版本发布周期

随着 JDK 10 发布六个月之后,JDK 11 计划于 2018 年 9 月发布,新的 Java 发布版本周期已经全面铺开。开发人员可能已经习惯于多年一次的Java 新版本发布,可能由于新版本节奏发生变化,感觉受到轻微的冲击。

Java 官方 Twitter 最近发布了一张图片,用以解释新版本的发布周期:

Java 社区最近有一些关于新版本发布周期的讨论。 Thymeleaf 的创始人兼首席开发人员 Daniel Fernández 最近发推文:

2016 年:“Java 命中注定!它发展得如此之慢!每一个好想法都需要很长时间才能实现!”

2018 年:“Java 命中注定!它发展得太快了!没有人能跟得上!”

对 Fernández 的推文有一些有趣的回应,包括:

“Kotlin?”

“2020 年将会发生什么?Java 命中注定!没有它,我就无法过好我的生活!Java 在我家里随处可见,这个小咖啡杯究竟有什么威力,为什么它可以控制我的家,包括我的身体。”

“Java 命中注定,因为他们专注于完整性而不是简单性。”

“我们从中得到的教训是,变化不如过渡本身那么重要……事实上,这似乎是人生和计算机科学中一再出现的问题。”

“我看到有人抱怨说,Java 10 不应该在 IDE 更新后才能发布,就像鸡和鸡蛋问题一样,除非鸡已经存在并且等待鸡蛋出现。”

“2016 年的抱怨者:让我们用 JavaScript 代替( YOLO )。2018 年的抱怨者:还是 2016 年的那波抱怨者,他们现在又转回 Java,因为 YOLO 太难维护了。”

“因为 Oracle,Java 命中注定。”

时间会告诉我们这个新的发布周期会将如何影响 Java 社区。

其他资源

查看英文原文 Proposed Schedule for JDK 11

2018-04-24 19:0067152
用户头像

发布了 731 篇内容, 共 459.9 次阅读, 收获喜欢 2004 次。

关注

评论

发布
暂无评论
发现更多内容

零信任体系化能力建设(4):应用安全与开发部署

权说安全

零信任

低代码平台:开发应用程序的新革命

互联网工科生

软件开发 低代码 JNPF

Sentieon | 每周文献-Tumor Sequencing(肿瘤测序)-第三期

INSVAST

数据分析 基因测序 基因数据分析

加速体细胞突变检测分析流程-系列2(ctDNA等高深度样本)

INSVAST

变异 基因测序 基因数据分析

茶桁的AI秘籍 - 人工智能数学基础篇 导言

茶桁

人工智能 数学 math

Sentieon | 每周文献-Epidemiology(流行病学)-第五期

INSVAST

基因测序 基因数据分析 流行病学

数据分析实战│时间序列预测

TiAmo

数据挖掘 算法 数据分析

企业为什么喜欢云桌面办公?

青椒云云电脑

桌面云 云桌面

云桌面落地六大秘籍

青椒云云电脑

云桌面

ASF 生成式工具指南

开源雨林

apache 社区 生成式AI 使用指南

体细胞突变检测分析流程-系列1( WES&Panel)

INSVAST

变异 基因测序

最佳卸载程序和清洁助手 App Cleaner & Uninstaller中文最新

胖墩儿不胖y

Mac软件 卸载工具 清理软件

Sentieon实战:NGS肿瘤变异检测流程

INSVAST

基因测序 基因数据分析 NGS

提升UMI分析精度和计算效率:Sentieon UMI分子标记处理模块

INSVAST

umi 基因数据分析 技术服务

Sentieon | 每周文献-Agrigenomics(农业)-第四期

INSVAST

基因测序 基因数据分析

Sentieon | 应用教程: 使用DNAscope对HiFi长读长数据进行胚系变异检测分析

INSVAST

教程分享 Hifi DNAscope

如何构建适合自己的DevOps软件测试改进方案

DevOps和数字孪生

DevOps

如何构建 Sidecarless 模式的高性能服务网格

阿里巴巴云原生

阿里云 云原生 asm

华为云828企业节:助力精细化运营,提升开发效率

mecchi

小程序 云主机 云服务器 网站建设 云电脑

Sentieon发布RNAseq加速分析方案

INSVAST

数据分析 基因测序 RNAseq

面试官:策略模式有使用过吗?我:没有......

沉浸式趣谈

Sentieon安装时 jemalloc error 解决办法

INSVAST

代码 教程分享 基因

Sentieon | 每周文献-Gene Editing(基因编辑)-第六期

INSVAST

数据分析 基因测序 基因编辑

一文读懂 Nuxt.js 服务端组件

树上有只程序猿

React nuxt

JDK 11版本时间表_Java_Michael Redlich_InfoQ精选文章