美文网首页
GraalVM最佳实践,使用Java开发CLI、Desktop(

GraalVM最佳实践,使用Java开发CLI、Desktop(

作者: westinyang | 来源:发表于2021-03-08 21:38 被阅读0次

    原创文章,转载请注明出处!

    源码地址:

    介绍

    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)

    详细的开发环境配置等教程可访问我的项目地址:

    相关文章

      网友评论

          本文标题:GraalVM最佳实践,使用Java开发CLI、Desktop(

          本文链接:https://www.haomeiwen.com/subject/lbjdqltx.html