写点什么

SpringOne 2017 第二日:Juergen Hoeller 的演讲

  • 2017-12-12
  • 本文字数:2984 字

    阅读完需:约 10 分钟

SpringOne 开发者大会第二天的活动充满了惊喜,其中就包括 Spring 框架的领头人 Juergen Hoeller 和微软杰出工程师 Erich Gamma 博士(“四人帮”之一)的演讲。

2002 年,Hoeller 创建了 Spring,据说他是在圣诞节期间阅读了 Rod Johnson 的一本书而受到了启发。

Hoeller 的演讲充满了激情,提及了技术生态圈和整个社区的通力合作让 Spring 框架光芒四射,让各方利益相关者获益不浅。

以下是 Hoeller 的演讲摘选。

关于 Spring 在肩负行业责任方面所面临的挑战:

这么多年来,我很荣幸能够领导 Spring 框架的迭代开发。现在我们身处 2017 年,并向 2018 年迈进。我们再次面临同样的境遇,我们仍然面临很多挑战。Spring 框架从来都不只是个孤岛,它向生态系统敞开怀抱,拥抱变化,拥抱 JVM 生态系统的基础设施。

关于如何赶上 Java 每六个月发布一次的节奏:

在这一时刻,我们正经历着 Java 生态系统最有趣的变化。我们有了最新的 JDK 9,虽然它早在 9 月份就已发布。我们以后每半年就会拥有一个新的 JDK。我们真的需要去拥抱这种变化。我们过去习惯了三年才获得一个新版本 JDK,甚至是三年半,而现在时间缩短到了半年。不过新特性的发布频率并没有变,我们都是凡人,所以说这种节奏更快了。JDK 10 将在 2018 年 3 月发布,而 JDK 11 将在 2018 年 9 月发布。它们可能只是小的特性发布版本,但却使用了大版本进行发行,每一次发布都提升了字节码版本。它们更像是 9.2 版本,不过它们确实带来了新的语言特性。以 JDK 10 为例,它将会带来新的本地变量声明方式,往 JDK 核心库中增加新特性就有了不一样的模式,它总是能够在合适的时间推出新特性。每半年就会有一个新 JDK 版本发布,所以我们等待新特性发布的时间不会超过半年。不过事情总是有它的两面性。每次新版本发布都会带来新的字节码版本,相关的工具需要为此做好准备。这或许会是一个挑战,会给 Java 生态系统带来混乱。很多工具都是基于字节码版本实现的,比如 ASM、CGLib、ByteBuddy 等,它们原本不需要因新的 JDK 发布而做出什么修改,但现在它们只能被限定在特定的 JDK 版本上,每次新 JDK 发布它们也要做出修改。我们不得不改变我们的思维,我们不得不改变我们的基础设施,改变我们的字节码处理方式,以便适应 JDK 的版本变化。现在 JDK 10 正在开发当中,我们将拥抱它,我们还会有 JDK 11,我们安装好它,并用它运行我们的基础设施、已有的框架、已有的软件包,一切安好。我们只需要在思维方面做些改变。但要注意,并不是所有的 JDK 都有长期支持版本,我更关心的是长期支持版本。在生产环境,我们只会使用具有长期支持的 JDK 和 JVM,而根据当前计划,我们每三年才能获得一个长期支持版本。但也许这也会发生变化,变化无处不在,但从目前来看,JDK 9 并不是一个长期支持版本,JDK 10 也不是。JDK 11 有可能是,它将在明年的 9 月份发布。所以说,JDK 8 是目前的长期支持版本,下一个会是 JDK 11。这对于我们来说会是一个挑战,我们的 Spring 5 是基于 Java 8 版本开发的,这在 Java 生态系统里已经很常见了,很多软件包都是基于 Java 8 的。它们可以用在后续的 JDK 版本上,对于软件包、框架和生产环境来说,Java 8 是一个参考点,而使用新版本 JDK 会是锦上添花。

从 Spring 框架来看,我们已经准备好采用新的运行时环境。所以,Spring 5 应用程序在 JDK 9 上运行是没有问题的,它甚至都能在 JDK 10 上运行,当然也能够在 JDK 11 上运行。JDK 8 是最好的,JDK 9 也不错,等 JDK 10 和 JDK 11 正式发布后也可以使用它们。

关于技术合作:

除了 OpenJDK 以及其他创造性的改进,还有其他很多有意思的东西,我们也参与其中。我们与 JetBrains 的 Kotlin 小组保持着良好的关系,我们很高兴能够与他们合作。我们的合作是双赢的,Spring 5 的很多东西是受到了 Kotlin 的启发而开发的。不仅仅是基于 Kotlin 的应用,我们把很多来自 Kotlin 的设计点子融入到 Spring 5 当中,Kotlin 的很多语法可以被很好地映射到 Java 生态系统中。Kotlin 中有很多重要的模式,尽管 Spring 5 已经包含了很多内容,但 Kotlin 的这些模式仍然给我们带来很多启发,我们将会把它们应用到 Spring 5 当中。如果大家选择 Kotlin 来实现 Spring 应用,Spring 框架和 API 也已经为此做好了准备。我们在支持 Kotlin 方面已经走得很远。这是一种良性的关系,我们发现问题,他们来修复,我们可以达成我们想要的一切,这就是我们在技术合作方面最好的例子。

另一个合作领域是关于反应式流——Reactor 项目是基于响应式流的,是响应式流生态系统的一部分。我们与 RxJava 团队和 Lightbend 的响应式流团队也有着密切的合作关系。我们有共同的语言词汇表、技术术语、语义以及运行时契约。但事情太多了,我们努力达成最大程度的一致,让现有的 RxJava 能够适用于使用了 Reactor 的应用程序上。

最近发布了 EE4J,我们看到了 Java EE 的终结,而 EE4J 是 JCP 的新贵,在我们看来它就是 Java EE。Servlet 规范、JPA、Bean Validation 都捐献给了 Eclipse 基金会,处于 EE4J 的庇护之下。这是我们参与规范工作的最好时机。我们已经在 Servlet 规范上投入了很多,我们已经成为 JPA 专家组成员很长一段时间了,我们也集成 Bean Validation 好几年了。我们最近开始拥抱 JSON Binding API——谷歌 Gson 的替代品。我们正在参与好几个规范,只等 Eclipse 基金会这边开始流程。我们极有可能看到更多小版本的规范出现,可能是 JPA 2.3、Servlet 4.1,不一定要再等 4 年,有可能是明年或 2019 年,只要所有的利益相关者同意发布。如果 Tomcat 和 Jetty 同意 Servlet 4 需要做一些 API 重构,那么它们就会在 Servlet 4.1 中发布,这会在某个合适的时间发生。

我们参与了这么多的项目,很多实际的例子证实我们已经带来了很大的价值,而在 2018 年会有更大的价值得到体现。Kotlin 1.3 协程模型,我们将会在适当的时机拥抱它,或许是在 2018 年或 2019 年。

关于 Spring 核心框架的路线图:

从 Spring 框架角度来看,我们已经准备好开始新任务。Spring 5 已经包含了很多东西,新的函数式 API 设计、反应式架构、反应式 Web 技术栈、将 Kotlin 作为另一个首选的 JVM 语言。它们都很健壮,可以长期存在。我们的使命尚未结束,我们已经开启了新一代框架,我们正在迭代,从人们那里收集反馈——每一个利益相关者、Kotlin 团队成员、Reactor 团队成员。除了这些,在 2018 年,我们有两个主要迭代计划,都是在核心框架层面。我们计划在 2018 年 5 月或 6 月初推出 Spring 5.1。我们的 JIRA 待办目录中有很多东西需要做,如果大家想知道明年 Spring 框架会发生什么变化,可以参看 JIRA 的 5.x 目录。那里有差不多 200 个待办事项,如果大家关心其中某些项目,可以给它们投票,或者给出评论,表达你们的想法,我们会依此决定明年的优先级。如果有些东西无法在 5.1 中交付,我们会另找机会,随着新 JDK 的发布,或许可以放在下一年年底的 Spring 5.2 中发布。将依赖项更新到最新版,采用最新的 Kotlin,反应式流的新进展,反应式 JDBC 集成 API,这些东西都有可能包含在后续的 5.1、5.2 甚至是 2019 年的 5.3 版本当中。

我们野心勃勃,同时几个项目齐头并进,我们希望为大家带来更多东西,2018 年将是激动人心的一年,我个人非常期待我们将给大家带来的惊喜。

查看英文原文 SpringOne 2017 - Day 2 - Juergen Hoeller on Spring’s Mission

2017-12-12 18:006023
用户头像

发布了 322 篇内容, 共 139.9 次阅读, 收获喜欢 145 次。

关注

评论

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

AI心灵伙伴:数业智能心大陆如何提升年轻成人的心理健康?

心大陆多智能体

压力 智能体 AI大模型 心理健康 数字心理

2024 TDengine 用户大会:顶尖专家带你决胜 AI 新时代

TDengine

顶级免费缺陷管理工具评测:你的最佳选择

爱吃小舅的鱼

缺陷管理 缺陷跟踪 缺陷管理软件推荐

如何激活Parallels Desktop 18虚拟机?PD18破解激活教程

理理

Microsoft Remote Desktop如何远程Windows电脑?

理理

江苏企业采购堡垒机推荐哪家?为什么?

行云管家

堡垒机 过等保 江苏

使用css制作心形图案并且添加动画心动效果

源字节1号

开源

Beyond Compare 4 文件同步对比工具|适用于PC端和macOS电脑

理理

过等保时候常提到的堡垒机是什么?有什么用?

行云管家

等保 堡垒机 等级保护 过等保

深入了解 DN-404:引领 NFT 市场的创新标准

NFT Research

NFT\ web3、 ERC404

【永久密钥】VMware Fusion Pro 13 for Mac(VM虚拟机)v13.5.0激活版

Rose

基于YMP工具实现Oracle迁移YashanDB

YashanDB

yashandb 崖山数据库 崖山DB

KES数据库实践指南:探索KES数据库的事务隔离级别

EquatorCoco

数据库 oracle

macOS Sequoia 15(Macos15系统)v15.0 Beta 3测试版本

Rose

NTFS磁盘格式读写工具 Tuxera 2022 mac注册版 及破解教程

Rose

火山引擎数据飞轮升级实验平台架构,解决人效与成本问题

Geek_2d6073

AIOps:解决企业IT挑战的智能利器

雅菲奥朗

运维 可观测性 AIOPS SRE

跨平台的SSH、Telnet和SFTP客户端 Termius for Mac v8.4.0激活版

Rose

新手必看!sublime text 快捷键大集合

Rose

DriveDx for mac(mac磁盘健康检测和监控工具)v1.12.1激活版

理理

FlagEval 7月榜丨新增29个模型评测结果,智源发布评估技术报告《AI大模型能力全景扫描》

智源研究院

参加DevSecOps认证培训 ,掌握安全高效的软件开发

雅菲奥朗

运维 SRE DevSecOps

Axure RP教程(Axure RP中文授权码),如何查看和共享您的原型?

Rose

云原生向量数据库内核揭秘亮了,PostgreSQL 中国技术大会AIGC场景引关注

AI数据云Relyt

AIGC 向量数据库 GenAI AIGC案例 AI数据云

TiDB实践—索引加速+分布式执行框架创建索引提升70+倍

TiDB 社区干货传送门

7.x 实践

数据驱动运维:如何通过可观测性实现AIOps的突破

雅菲奥朗

运维 可观测性 AIOPS Observability 人工智能运维

解决 SecureCRT中文乱码方法(附SecureCRT mac永久注册码)

Rose

Cornerstone意外退出的解决方法 Cornerstone 4.2永久激活版 Mac SVN工具

Rose

NTFS Disk by Omi NTFS for mac(NTFS 磁盘管理器)安装简单 兼容m芯片

理理

Parallels Desktop 19 for Mac(PD19虚拟机)无需关闭sipv19.1.0一键激活版

Rose

Macs Fan Control Pro风扇预设介绍 Macs Fan Control Pro mac风扇转速和温度

Rose

SpringOne 2017第二日:Juergen Hoeller的演讲_Java_Victor Grazi_InfoQ精选文章