前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot3.0的发布了一个王炸能力-AOT直接编译exe等可执行文件

SpringBoot3.0的发布了一个王炸能力-AOT直接编译exe等可执行文件

作者头像
ImportSource
发布2023-01-11 17:57:46
1K0
发布2023-01-11 17:57:46
举报
文章被收录于专栏:ImportSourceImportSource

springboot3.0发布了,其中有一个新特性是NativeExecutables。这个功能可以说是非常之秀。它支持你直接把你Java代码编译成机器码,也就是所谓的AOT技术。

说到AOT,我们就不得不提另外一个编译技术JIT。

通常的Java编译过程

通常的Java编译过程都是先从Java代码编译成字节码,然后在运行时再把字节码编译成具体的机器码(也就是0和1)。

JIT

JIT(JustInTime)编译技术是在通常的编译过程之上做了增强,JVM会根据运行过程中代码执行的热点情况,把一些热点代码提前编译成机器码,等下次执行这些热点代码的时候,就不用实时编译成机器码了,而是直接运行机器码即可,这样就提高了Java的运行速度。正所谓Just-In-Time。

AOT

AOT(ahead of time),就是提前把代码编译成机器码的一种编译技术。这样直接颠覆了Java正常的编译过程,而是首次编译时即把Java代码编译成机器码,跳过了字节码这个中间环节,可想而知,当程序运行时,直接运行机器码性能要提高很多,但这样的做法直接跳过了字节码,显然是丢失了一些通用性。

但SpringBoot仿佛正在希望把Java带上另外一条编译的道路?那就是AOT直接转机器码的道路。

SpringBoot3提供了一个新的spring boot maven plugin,那就是:

mvn spring-boot:aot-generate

你可以通过这个命令直接生成exe或者其他平台的可执行文件。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ImportSource 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档