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话题。