graalvm
本文最后更新于:2023年4月11日 下午
GitHub:https://github.com/oracle/graal/
安装
GraalVM分为一个单独的基于OpenJDK的环境,和各个组件。在安装了GraalVM后,还要使用它提供的gu
命令来安装组件。
GraalVM
- Windows
- Linux
从各大发行商应用仓库下载即可,以ArchLinux为例,从AUR下载:
1 |
|
组件
GraalVM提供了gu命令来管理各个组件。在只安装了GraalVM后,只有一个graalvm
组件。
可以用gu list
来查看以安装的组件。
如果要查看当前的GraalVM支持那些组件,可以用gu available
命令。
使用gu install 要安装的组件
命令来安装组件。
比如,我们用之构建原生的可执行文件,只安装native-image
和llvm-toolchain
即可:
1 |
|
使用
使用GraalVM提供的native-image
来构建原生的可执行文件。它可以根据单独的类、jar或是jdk9的模块来构建。本文只介绍前两种。
它的用法是:
1 |
|
单独的类
PS:此种只适合写一个Hello World测试,真实用的话,还是要用下面的基于jar来构建的方法。
首先,准备好我们的Hello World,一个叫Hello.java
的文件,内容如下:
1 |
|
然后,编译并运行此类:
1 |
|
有了Hello.class
,我们就可以使用native-image
来邮件原生的可执行程序了:
1 |
|
生成的文件有两个:hello
和hello.build_artifacts.txt
。其中,hello
即是我们的最终产物,大小大约为12M。
PS:构建大概需要几分钟的时间,并要求电脑至少配有5G的内存。如果你的HelloWorld需要网络连接的话,要在构建命令中加上 –enable-http和–enable-https的选项。加上此选项后,最终可执行文件的大小可能会突破40M。
一个或多个jar
分析:
1 |
|
构建:
1 |
|