【GraalVM实战】Mac M1系统搭建GraalVM环境

1 篇文章 0 订阅

CSDN话题挑战赛第2期
参赛话题:Java技术分享

文章目录

引言

GraalVM基本介绍

安装GraalVM

在IDEA中配置GraalVM

代码测试:Java with JavaScript


引言

GraalVM:高性能,云原生,多语言

GraalVM基本介绍

 先来一张GraalVM的架构图

GraalVM是一个高性能的JDK,其设计目标是提高Java和其它JVM语言实现的应用的运行速度,与此同时,也提供了一些流行的开发语言的运行时环境,比如JavaScript和Python

GraalVM的核心组件如下

  • Java HotSpot VM
  • Graal编译器 - 顶级JIT编译器
  • 多语言API 
  • ​GraalVM Updater - 安装扩展功能的工具

安装GraalVM

安装GraalVM很简单,相当于新增一个JDK

GraalVM官网的快速开始页面提供了4种不同系统的安装方式

  • Linux
  • macOS
  • Windows
  • Docker Container

这里选择macOS安装方式,没有提供dmg安装方式,需要在Github下载压缩包

下载后用tar命令解压,移动到/Library/Java/JavaVirtualMachines目录下(需要sudo)

sudo tar -xzf graalvm-ce-java<version>-darwin-amd64-<version>.tar.gz

sudo mv graalvm-ce-java<version>-<version> /Library/Java/JavaVirtualMachines

完成后可以用/usr/libexec/java_home命令检查

 接下来配置环境变量,以及JDK多版本切换快捷方式,可以参考之前的一篇文章

到这一步,GraalVM环境就配置完成了

在IDEA中配置GraalVM

在IDEA社区版2022.2.3中新建项目graalvm-feature,并添加GraalVM到JDK

 这一步也很简单

代码测试:Java with JavaScript

还是国际惯例,Hello GraalVM吧

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello GraalVM!");
    }
}

Java代码能跑了,接下来测试一下多语言特性,那么Python可以上场了吧

使用前先使用gu安装对应的语言环境,gu是GraalVM提供的组件安装工具(GraalVM Component Updater),需要用sudo提高权限

但安装失败了,不甘心,那么试试node.js吧,还是一样的结果。用gu available命令查看,发现支持的多语言组件很少,除了JavaScript,其它的都不会

 继续查看文档,发现M1芯片node.js和Python都还不支持,看来只能和JS做好朋友了

 测试代码如下,参考官网的示例代码

import org.graalvm.polyglot.*;

public class Main {

    public static void main(String[] args) {
        // Java代码作为启动代码
        System.out.println("Hello GraalVM! from Java");
        System.out.println("Let's go with JavaScript");

        // 启用多语言
        Context polyglot = Context.create();
        // JavaScript
        polyglot.eval("js", "console.log('Hello GraalVM! from JavaScript')");
        // Python,未安装GraalVM对应的运行环境,执行会报错
        polyglot.eval("python", "print('Hello GraalVM! from Python')");
    }
}

执行结果如下

以上就是GraalVM的安装过程,还是比较简单的,只是Mac M1支持的多语言比较少,本系列后期会慢慢探索GraalVM的强大功能

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一束尘光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值