写点什么

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:0067097
用户头像

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

关注

评论

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

MVVM系列之三:ViewModel,最新Android开发进阶

android 程序员 移动开发

offer求比较+部分大厂Android面经+真题解析(1),覆盖所有面试知识点

android 程序员 移动开发

offer求比较+部分大厂Android面经+真题解析,给2021的Android一些建议

android 程序员 移动开发

livedatabus详解,阿里是如何用他来做淘宝架构的?,android开发视频百度云

android 程序员 移动开发

Kotlin的自定义View,实现带弧形的进度条,androidjetpack详解

android 程序员 移动开发

lambda表达式(3)-shawn,挑战大厂重燃激情

android 程序员 移动开发

LeakCanary源码分析以及ContentProvider的优化方案,android移动开发

android 程序员 移动开发

Native开发工具之应用开发编辑器&打包发布(一),kotlin构造器

android 程序员 移动开发

Kotlin学习手记--泛型、泛型约束、泛型型变,天呐

android 程序员 移动开发

Native开发工具之交叉编译移植(五),android开发基础教程视频

android 程序员 移动开发

OOM问题原理解析(二),android开发教程pdf

android 程序员 移动开发

Meterial Design常见控件的使用(八),【面试总结】

android 程序员 移动开发

Okio—— 更加高效易用的IO库,一线互联网架构师Android框架体系架构

android 程序员 移动开发

超牛无损图片放大神器PhotoZoom,你值得拥有!

淋雨

PhotoZoom

MVPArms官方快速组件化方案开源,来自5K star的信赖,安卓性能优化和内存优化

android 程序员 移动开发

Linux编程之权限系统与工具使用(二),【大牛系列教学】

android 程序员 移动开发

Go语言HTTPServer开发的六种实现

FunTester

HTTP Fasthttp Server Go 语言 FunTester

MaterialDesign系列文章(十一)Google2018年大会新出的控件汇总集合

android 程序员 移动开发

Meterial Design常见控件的使用(一),安卓面试题2018中高级

android 程序员 移动开发

《个人信息保护法》正式实施,企业如何保证数据安全合规?

腾讯安全云鼎实验室

数据安全

OkHttp 的 IO 操作和进度监听,android应用开发实训总结

android 程序员 移动开发

Kotlin系列三:空指针检查,万字长文总结Android多进程

android 程序员 移动开发

Kotlin学习手记——注解,flutter下拉加载

android 程序员 移动开发

Kotlin协程它不香吗?,kotlin开发游戏

android 程序员 移动开发

LeakCanary源码学习二:LeakCanary,sw实战营文件下载

android 程序员 移动开发

OkHttp踩坑记:为何 response,androidui设计

android 程序员 移动开发

Kotlin学习手记——注解(1),2021年字节跳动74道高级程序员面试

android 程序员 移动开发

万人逐鹿、十强争霸!华为云GaussDB数据库两大重量级赛事圆满落幕

华为云数据库小助手

GaussDB 大赛 华为云数据库

Meterial Design常见控件的使用(五),移动端h5开发框架

android 程序员 移动开发

ObjectBox 集成指南,建议细读

android 程序员 移动开发

Kotlin(五)深入理解Kotlin类与接口,androidndk开发视频

android 程序员 移动开发

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