GraalVM
1.1、GraalVM简介
是什么 ?:Universal VM for a Polyglot World
开发语言:C
开发公司:Oracle
官方主页:https://www.graalvm.org
源码仓库:

GraalVM是一款高性能的、跨语言的、通用虚拟机。

GraalVM能同时运行JavaScriptPython3RubyR基于JVM的语言(如:JavaScalaKotlin)、 基于LLVM的语言(如:CC++)。

GraalVM消除了编程语言之间的隔离,并支持共享运行时的互操作性。

GraalVM可以独立运行,也可以在OpenJDKNode.jsOracleMySQL上运行。

GraalVM分为社区版企业版

GraalVM将被内置在JDK中。Oracle修改了JDK的授权方式, 表明Oracle将把服务企业大客户作为重点,收缩不相干的to C的业务。

1.2、安装GraalVM社区版

step1、安装依赖

下载时cURL
解压时targzip
运行时JRE | JDKPOSIX sh

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环境变量中, 因为这样会覆盖掉您曾经安装过的javanodenpm等命令。

1.3、GraalVM中包含的命令

GraalVM中包含的命令大多是原来JDK中的命令,下面这几个命令着重介绍一下:

lliGraalVM虚拟机,只能执行LLVM ByteCode
jsGraalVM虚拟机,只能执行JavaScript程序
nodeGraalVM虚拟机,只能执行Node.js程序
javaGraalVM虚拟机,只能执行Java程序
polyglotGraalVM虚拟机,可以执行上面提到的所有语言的程序
gunative-imagePythonRubyR等兼容包的包管理器
native-imageclassjar编译成二进制,用于加速程序的运行
1.4、GraalVM设置版的体验体会

1、GraalVM的性能与JDK比,某些时候会比JDK运行的快,但有时候反而慢。

2、native-image是个很有期待的工具,不过, 它很可能会放到企业版里,也就是现在只是让你体验一下,以后会放到企业版里。

3、GraalVM性能大幅超越的部分最终都会在企业版里,所以,小企业不愿意付费的话,就不用费时间了。