写点什么

Spring 框架 5.1 将提供对 Java 11 的支持

  • 2018-10-08
  • 本文字数:1283 字

    阅读完需:约 4 分钟

SpringOne Platform 会议最近在华盛顿特区举行,会上发布和宣布了诸多事项。在 9 月 25 日上午的主题演讲中,Spring 框架的联合创始人兼 Pivotal 的首席工程师 Juergen Hoeller 讨论了 Java 8、Java 新的发布节奏,并宣布 Spring 框架 5.1 版本将会支持刚刚发布的Java 11

Hoeller 首先引用了去年的一项调查:

迄今为止,Java 8 是 Java 历史上应用最广泛的平台版本。它的应用范围超过了 Java 6。但是,我们将会迎来一种破坏性的 Java 发布节奏。

对于这种新的发布节奏,Hoeller 花了些时间讨论 Spring 如何支持不同的 Java 版本。Spring 框架 4.3 最多只会支持到 Java 8。Spring 框架 5.0 最初支持 Java 9,Spring 框架 5.1 最低需要 JDK 8 并正式支持 Java 11。在他的主题演讲中,Hoeller 明确表示之前版本的 Spring 框架将不会正式提供对 Java 11 以及更高版本的支持。

除了对 Java 11 的支持之外,Spring 5.1 还有许多重要的改进,包括与最近发布的 Reactor Californium Hibernate ORM 5.3 的集成。

另外,框架内部对反射的使用也进行了优化,以便于改善启动时间和降低堆内存消耗,核心容器为 Java 和 Kotlin 都引入了函数式 bean 定义的改进。

在 Java 和 Kotlin 的函数式 bean API 方面,我们花费了很多的时间进行调优。现在,我们有了新的检索 API,在对反射的使用以及内部元数据的主动缓存方面我们进行了许多优化,以改善启动时间和减少 GC 压力。

Pivotol 还花费了很多的时间在 Graal 兼容性上,这是一个多语言的新 JIT 编译器和运行时,Hoeller 将其描述为“来自 Oracle 的非常有意思的研究成果”。

通过预编译,我们所交付的二进制文件要比传统 JVM 快得多,我们已经在 Spring 5.1 上做了很多准备工作,它能够理解很多限制,我们计划在 Spring 框架 5.2 版本中交付一个完整的 Graal 兼容性 story。

Web 应用技术栈也得到了很多的关注,从端点一直到核心容器都有对用户体验更好的调试日志。它还包含了一个 DSL 风格的构建器,用于函数式 Web 端点,并为 Netty 运行时扩展了对 WebFlux HTTP/2 的支持。

关于 Java 新的发布节奏对 Spring 所带来的影响,Hoeller 这样说到:

在可预见的未来,Java 8 将会作为我们的基准。整个生态系统都是或者将是以 Java 8 为基础的。2023 年之前,Java 8 会有来自业界许多利益相关者的支持承诺。因此,从一个保守组织的角度来看,Java 8 是一个很好的基准。

刚刚发布的 Java 11 是 Java 的下一个长期支持版本,Hoeller 将其视为 Java 8 的替代方案。就像 Java 8 一样,它也得到了很多供应商的长期支持承诺,包括 Oracle、Azul、Red Hat、IBM 和 SAP,它们承诺会支持到 2023 年甚至更久。

在此之后,下一个长期支持的发布版本将会是 2021 年的 Java 17。Hoeller 说到,“坦白来讲,我预计非 LTS 的 Java 发布版本受众将会很有限。在 17 版本之前,我希望人们保持使用 8 或 11 版本”。

像往年一样,InfoQ 录制了 SpringOne 的所有演讲,未来的几个月中,读者可以在站点上访问这些视频。在视频发布时,您如果想要得到通知的话,那么可以关注 SpringOne Platform 2018 话题。

查看英文原文: Spring Framework 5.1 Ships with Java 11 Support

2018-10-08 10:121716

评论 1 条评论

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

技术分享 | app自动化测试(Android)--高级定位技巧

霍格沃兹测试开发学社

毕业后什么都不会,找了个培训班学软件测试学了4个月,拿到offer,坐等入职

测吧(北京)科技有限公司

测试

从技术视角,看阿里云的「前端智能化」是如何实现的?

阿里云视频云

前端 智能化

软件测试 | 测试开发 | 黑盒测试方法论—因果图

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试环境搭建

测吧(北京)科技有限公司

测试

技术分享 | app自动化测试(Android)--App 控件定位

霍格沃兹测试开发学社

小程序与工业互联网上的概况

Geek_99967b

小程序

技术分享 | app自动化测试(Android)--触屏操作自动化

霍格沃兹测试开发学社

如何设计帮助中心来解决企业客户问题?

Baklib

企业 帮助中心

Unity Metaverse(六)、关于Avatar换装系统的示例工程

CoderZ

Unity Avatar 9月月更 换装

软件测试 | 测试开发 | Jenkins 节点该如何管理?

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 什么是软件缺陷

测吧(北京)科技有限公司

测试

如何推动中小企业数字化建设?从知识管理系统开始!

Baklib

知识管理 企业 知识管理系统 数字化建设

从 0 到 1 上手阿里云服务器 ECS(二)

六月的雨在InfoQ

Linux 命令行 云服务器 ECS 9月月更

软件测试 | 测试开发 | 跨平台API对接(Python)的使用

测吧(北京)科技有限公司

测试

多点《基于 Databend 的 TiDB 数据归档实践》 | Data Infra 分享第 4 期总结

Databend

databend 数据归档

软件测试 | 测试开发 | 你会使用哪些测试设计方法?

测吧(北京)科技有限公司

测试

【GO】Go JSON反序列化失败情况总结

非晓为骁

Go json 反序列化

技术分享 | app自动化测试(Android)--App 控件交互

霍格沃兹测试开发学社

Java后端面试必问:四十八道面试题及答案最新整理(速看速藏)

程序知音

Java java面试 后端技术 秋招 Java面试题

技术干货 | 漫游Linux块IO

沃趣科技

软件测试 | 测试开发 | 黑盒测试方法论-判定表

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 常用测试策略与测试手段

测吧(北京)科技有限公司

测试

技术分享 | app自动化测试(Android)--元素定位方式与隐式等待

霍格沃兹测试开发学社

技术分享 | Selenium多浏览器处理

霍格沃兹测试开发学社

国内企业数字化转型趋势及面临的新挑战知识管理

Baklib

知识管理 数字化转型 企业

软件测试 | 测试开发 | 软件测试最常用的 SQL 命令 | 通过实例掌握基本查询、条件查询、聚合查询

测吧(北京)科技有限公司

测试

数据分类分级方法论及实操

极盾科技

数据分类分级

企业ToB的道路上,知识管理是照亮的路灯

Baklib

知识管理

EMQX 5.0全新网关框架:轻松实现多协议接入

EMQ映云科技

物联网 IoT emqx 9月月更 网关框架

软件测试 | 测试开发 | 软件测试最常用的 SQL 命令(二) | 高级 Join 多表查询

测吧(北京)科技有限公司

测试

Spring框架5.1将提供对Java 11的支持_Java_Charles Humble_InfoQ精选文章