当前位置: 首页 > news >正文

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

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

相关文章:

  • Uber开源Marmaray:基于Hadoop的通用数据摄取和分散框架
  • LeetCode - 141. Linked List Cycle
  • kubernetes[2]-Pod
  • @jsonView过滤属性
  • vmware创建centos虚拟机
  • 福大软工1816 · 第六次作业 - 团队选题报告
  • 尝试解决微信小程序分页最后setData数据太大限制的问题
  • teragen/terasort_简化版
  • 云计算节点故障自动化运维服务设计
  • Redis 中的布隆过滤器
  • git操作:在CentOS7上面搭建GitLab服务器
  • windows下redis 开机自启动
  • SpringBoot系列: Actuator监控
  • JavaScript常用八种继承方案
  • 20172313 2018-2019-1 《程序设计与数据结构》课堂测试修改报告
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Computed property XXX was assigned to but it has no setter
  • egg(89)--egg之redis的发布和订阅
  • js面向对象
  • laravel5.5 视图共享数据
  • leetcode98. Validate Binary Search Tree
  • Nacos系列:Nacos的Java SDK使用
  • python学习笔记 - ThreadLocal
  • React Transition Group -- Transition 组件
  • React-flux杂记
  • Spark RDD学习: aggregate函数
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 动态魔术使用DBMS_SQL
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 聊聊flink的TableFactory
  • 前端相关框架总和
  • 微信支付JSAPI,实测!终极方案
  • 详解移动APP与web APP的区别
  • 走向全栈之MongoDB的使用
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #每天一道面试题# 什么是MySQL的回表查询
  • (1)虚拟机的安装与使用,linux系统安装
  • (70min)字节暑假实习二面(已挂)
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (pytorch进阶之路)扩散概率模型
  • (分布式缓存)Redis分片集群
  • (区间dp) (经典例题) 石子合并
  • (十一)手动添加用户和文件的特殊权限
  • (转)创业家杂志:UCWEB天使第一步
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net Signalr 使用笔记
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .NET序列化 serializable,反序列化
  • @RestControllerAdvice异常统一处理类失效原因
  • [.net]官方水晶报表的使用以演示下载
  • [AIGC] Kong:一个强大的 API 网关和服务平台