我是靠谱客的博主 呆萌星星,最近开发中收集的这篇文章主要介绍GraalVM最佳实践,使用Java开发CLI、Desktop(JavaFX)、Web(SpringBoot)项目,并使用native-image技术把Java代码静态编译为独立可执行文件(本机映像),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
原创文章,转载请注明出处!
源码地址:
- Gitee
- Gtihub
介绍
GraalVM最佳实践,使用Java开发CLI、Desktop(JavaFX)、Web(SpringBoot)项目,并使用native-image技术把Java代码静态编译为独立可执行文件(本机映像)。
GraalVM让Java再次变得强大,使用native-image把程序编译为目标平台的可执行文件,脱离jvm直接运行,启动速度飞快,内存负载也很低。
模块概览
体验我已经编译好的可执行文件(Windows、Linux、Mac),点此下载。
下面的性能测试结果是在我本机Windows上测试的,测试结果与机器配置有关,尤其是
native-image
编译耗时。
↓标签 模块→ | cli-normal | desktop-javafx | web-springboot |
---|---|---|---|
模块描述 | 命令行应用(无框架) | 桌面应用(JavaFx) | Web应用(SpringBoot) |
JDK | 8 or 11+ | 11+ | 8 or 11+ |
GraalVM | CE-21.0.0.2+ | CE-21.0.0.2+ | CE-21.0.0.2+ |
Maven Plugin | native-image-maven-plugin | client-maven-plugin | native-image-maven-plugin |
启动耗时(jvm) | 0.713s | 2.555s | 1.793s |
启动耗时(native-image) | 0.047s | 0.665s | 0.216s |
内存负载(jvm) | 38.8m | 309.3m | 440.5m |
内存负载(native-image) | 3.1m | 60.4m | 70.2m |
编译耗时(native-image) | 24.786s | 93.455s | 99.434s |
可执行文件大小(7z压缩) | 8.03m (7z : 1.68m) | 62.7m (7z : 13.1m) | 66.5m (7z : 13.9m) |
开发环境
以下是我本机的开发环境,理论上windows、linux、mac都是支持的(注意不同平台的 GraalVM SDK 和 native-image的依赖是不一样的)。
- Windows 10 (CPU: i7-7700, RAM: 16G)
- IntelliJ IDEA 2020
- jdk-11.0.10
其实也可以不用,因为GraalVM是自带OpenJDK的
- graalvm-ce-java11-21.0.0.2
- Visual Sutdio 2019
环境配置(Windows,Linux,Mac)
详细的开发环境配置等教程可访问我的项目地址:
- Gitee
- Gtihub
最后
以上就是呆萌星星为你收集整理的GraalVM最佳实践,使用Java开发CLI、Desktop(JavaFX)、Web(SpringBoot)项目,并使用native-image技术把Java代码静态编译为独立可执行文件(本机映像)的全部内容,希望文章能够帮你解决GraalVM最佳实践,使用Java开发CLI、Desktop(JavaFX)、Web(SpringBoot)项目,并使用native-image技术把Java代码静态编译为独立可执行文件(本机映像)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复