是什么 ? | : | Universal VM for a Polyglot World |
开发语言 | : | C |
开发公司 | : | Oracle |
官方主页 | : | https://www.graalvm.org |
源码仓库 | : |
GraalVM
是一款高性能的、跨语言的、通用虚拟机。
GraalVM
能同时运行JavaScript、Python3、Ruby、R
、基于JVM的语言(如:Java、Scala
、Kotlin)、 基于LLVM的语言(如:C、C++)。
GraalVM
消除了编程语言之间的隔离,并支持共享运行时的互操作性。
GraalVM
可以独立运行,也可以在OpenJDK、Node.js、Oracle
、MySQL上运行。
GraalVM
分为社区版
和企业版
。
GraalVM
将被内置在JDK中。Oracle
修改了JDK的授权方式, 表明Oracle
将把服务企业大客户作为重点,收缩不相干的to C
的业务。
step1、安装依赖
所有时 | Terminal + Shell + GNU CoreUtils |
下载时 | cURL |
解压时 | tar + gzip |
运行时 | JRE | JDK |
step2、使用curl命令下载编译好的GraalVM
二进制压缩包 ()
curl -C - -LO https://github.com/oracle/graal/releases/download/vm-19.2.0/graalvm-ce-linux-amd64-19.2.0.tar.gz
step3、使用tar解压GraalVM
压缩包
tar vxf graalvm-ce-darwin-amd64-19.2.0.tar.gz
step4、进入graalvm-ce-19.2.0
目录,并查看它的内容
step5、graalvm-ce-19.2.0/bin
目录中的内容
亮绿色的命令是原来JDK里带的,浅蓝色的命令是新增的,这些就是与GraalVM
相关的命令。
step6、将graalvm-ce-19.2.0/bin
目录加入PATH
环境变量中
export PATH=~/graalvm-ce-19.2.0/bin:$PATH
注意:如果你只是想体验一下GraalVM
,就不要把graalvm-ce-19.2.0/bin
目录加入到PATH
环境变量中, 因为这样会覆盖掉您曾经安装过的java、node、npm等命令。
GraalVM
中包含的命令大多是原来JDK中的命令,下面这几个命令着重介绍一下:
lli | GraalVM 虚拟机,只能执行LLVM ByteCode |
js | GraalVM 虚拟机,只能执行JavaScript程序 |
node | GraalVM 虚拟机,只能执行Node.js程序 |
java | GraalVM 虚拟机,只能执行Java程序 |
polyglot | GraalVM 虚拟机,可以执行上面提到的所有语言的程序 |
gu | native-imagePython、Ruby、R 等兼容包的包管理器 |
native-image | 将class 、jar 编译成二进制,用于加速程序的运行 |
1、GraalVM
的性能与JDK
比,某些时候会比JDK
运行的快,但有时候反而慢。
2、native-image是个很有期待的工具,不过, 它很可能会放到企业版里,也就是现在只是让你体验一下,以后会放到企业版里。
3、GraalVM
性能大幅超越的部分最终都会在企业版里,所以,小企业不愿意付费的话,就不用费时间了。