前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >到底要不要拥抱 Spring Boot 3.0

到底要不要拥抱 Spring Boot 3.0

作者头像
杨校
发布2022-12-07 13:12:56
1.4K0
发布2022-12-07 13:12:56
举报
文章被收录于专栏:Java技术分享圈Java技术分享圈

今天有学生问我,SpringBoot3.0 来了,要不要拥抱它?

Spring把这次升级称之为新一代框架的开始,下一个10年的新开端,口号喊的挺响亮,但是很多人在看过相关的Release Note之后,表示并不买账。

  • A Java 17 baseline
  • Support for Jakarta EE 10 with an EE 9 baseline
  • Support for generating native images with GraalVM, superseding the experimental Spring Native project
  • Ahead-Of-Time transformations and the corresponding AOT processing support for Spring application contexts

首先,前两个比较容易理解,主要说的是依赖的服务的版本升级的信息,那就是Spring Framework 6.0和SpringBoot 3.0都要求JDK的版本最低也得是JDK 17;并且底层依赖的J2EE也迁移到了Jakarta EE 9


虽然JDK 17有很多新的特性,并且也是目前最新的一个LTS版本。

但是其实真正的使用比较多的版本还是JDK 1.8,而Spring彻底抛弃17之前的所有版本!!!


1. AOT编译

Ahead-Of-Time,即预先编译,这是相对于我们熟知的Just-In-Time(JIT,即时编译)来说的。

相比于JIT编译,AOT指的是在程序运行前编译,这样就可以避免在运行时的编译性能消耗和内存消耗,可以在程序运行初期就达到最高性能、也可以显著的加快程序的启动。

图片
图片

AOT的引入,意味着Spring生态正式引入了提前编译技术,相比于JIT编译,AOT有助于优化Spring框架启动慢、占用内存多、以及垃圾无法被回收等问题。


2. Spring Native

在Spring的新版本中引入了Spring Native。

有了Spring Native ,Spring可以不再依赖Java虚拟机,而是基于 GraalVM 将 Spring 应用程序编译成原生镜像(native image),提供了一种新的方式来部署 Spring 应用。这种部署Spring的方式是云原生友好的

Spring Native的优点是编译出来的原生 Spring 应用可以作为一个独立的可执行文件进行部署,而不需要安装JVM,而且启动时间非常短、并且有更少的资源消耗。他的缺点就是构建时长要比JVM更长一些。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. AOT编译
  • 2. Spring Native
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档