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

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

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

关注

评论

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

低代码:正在改变软件的开发方式

华为云开发者联盟

软件开发 低代码 低代码平台 华为云应用魔方 AppCube

从Map和Reduce角度谈Hive优化

五分钟学大数据

hive 4月日更 hive性能优化

会议更流畅,表情更生动!视频生成编码 VS 国际最新 VVC 标准

阿里云CloudImagine

阿里云 视频压缩 VVC

iMazing 一款替代iTunes的数据备份软件

懒得勤快

ios Mac imazing 手机管理

《专访阿里研究员吴翰清:大数据时代下,如何保障网络安全和用户隐私》(采访提纲)

三掌柜

调查采访能力考核

这几道面试题,难倒了牛客网98%的程序员,刷完后直接斩获9个大厂offer

Java架构师迁哥

阿里员工:最惨P7,33岁才28K,感觉没有前途了。网友调侃:最美逆行者

程序员生活志

疫情影响到底有多大?《2020年移动互联网报告》深度解读垂直行业变化趋势

Lily

【只要努力,方能成功。】四面字节跳动Java研发岗,成功斩获Offer。分享4面技术面真题及复习资料!

Java架构之路

Java 程序员 架构 面试 编程语言

我很久没写代码了,但我是个好架构师

四猿外

Java 程序员 系统架构 架构师 代码

【全网首发】2021年移动开发iOS进阶提升方案,内附详细视频知识点解析和思维导图!【强烈建议收藏!】

flutter swift 数据结构与算法 ios开发 iOS逆向

anyHouse-iOS 高仿ClubHouse

anyRTC开发者

ios 音视频 WebRTC RTC 语音通话

用知识点+实例+项目完全深入地讲解springboot原理,这份《springboot实战派》火了!

Java架构之路

Java 程序员 架构 面试 编程语言

Disruptor 源码解读

lich0079

Java volatile Disruptor CAS Concurrent

华为云PB级数据库GaussDB(for Redis)揭秘第八期:用高斯 Redis 进行计数

华为云开发者联盟

redis GaussDB(for Redis) 计数器 计数

MySQL常用引擎及优缺点

Sakura

4月日更

破十亿浏览量的阿里最新Java架构师成长笔记开源!

Java架构追梦

Java 阿里巴巴 架构 面试 成长笔记

全球案例 | 霍尼韦尔:Atlassian 帮助我们在疫情期间拯救生命

Atlassian

敏捷 Atlassian Jira 远程协作 霍尼韦尔

国产监控夜莺v4来了,大幅降低部署维护难度

巴辉特

Nightingale 滴滴夜莺

如何打造高效技术团队|专访前美篇首席架构师张超

穿过生命散发芬芳

调查采访能力考核

【签约计划】行业分析能力考核成绩公布

InfoQ写作社区官方

签约计划 热门活动

腾讯万字Code Review规范出炉!别再乱写代码了

程序员生活志

一天下载量突破9000000!限时分享:阿里Java架构师成长笔记(2021版)

比伯

Java 架构 面试 程序人生 计算机

GitHub开源:100美元自制激光雷达

不脱发的程序猿

GitHub 开源 DIY 4月日更 激光雷达

Redis持久化方案介绍之RDB方案

大数据技术指南

redis 4月日更

裸辞还可以吊打大厂面试官?四面拿到阿里、字节offer后我还是选择了美团!

Java架构师迁哥

裸辞在家闭关修炼,意外发现一份据说是从阿里内部泄露出来的《Java程序员金三银四面试秘籍》

Java架构之路

Java 程序员 架构 面试 编程语言

留存率计算

Flychen

三色标记原理,我给应聘者问懵了...

华为云开发者联盟

Java 节点 三色标记 SATB算法 回收器

Rust从0到1-枚举-if let控制流

rust 枚举 if let

凡尔赛?拿到阿里offer只用了29天?

Java架构师迁哥

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