LoginSignup
1
4

More than 3 years have passed since last update.

GraalVM 入門まとめ

Last updated at Posted at 2020-02-02

次の仕事での開発をGraalVMで行うとのことだったので勉強がてら纏めてみました
メモのような形式なのでご容赦ください

Why GraalVM??

GraalVM offers a comprehensive ecosystem supporting a large set of languages (Java and other JVM-based languages, JavaScript, Ruby, Python, R, and C/C++ and other LLVM-based languages) and running them in different deployment scenarios (OpenJDK, Node.js, Oracle Database, or standalone). This page provides an overview of different scenarios in which GraalVM can make a difference for your applications. Some of versatile GraalVM capabilities, that might be missing on this page are thoroughly summarized and disclosed in Top 10 Things To Do With GraalVM blog post.

(GraalVM公式より https://www.graalvm.org/docs/why-graal/)

GraalVMとはJVMの技術を利用して作成されたOracle製の多言語対応の仮想マシンです。
通常JVMってJavaやkotlin,Scalaを動かすものですがGraalVMはJavaScriptやRuby,Pythonといった言語にも対応しています。

同一のマシン上で異なる複数の言語を実行でき、複数の言語のコードが混在したプログラムを実行できます。

Twitter社でも採用されているようですね。

どんな特徴があるの?

  • Javeの実行速度の高速化

  • 複数言語の対応

    • 複数の言語を対応していることにより相互のAPIを異なる言語で実行ができるようになります。各言語の得意分野を活かしたアプリケーション開発ができるようになる
  • java microserviceフレームワーク(Quarkus、Micronaut、Helidon)で動作する

  • 新しい言語の開発ができる

長文になってしまうので細かい部分は割愛させて頂きます。

GraalVMのinstall

1, Oracle Technology NetworkからGraalVMをダウンロード
https://www.oracle.com/technetwork/graalvm/downloads/index.html

oracleのpage移動するのでそのpageからOracle GraalVM Enterprise Edition based on JDK8 for macOS (19.3.1).を選択。
※ Oracelにアカウント登録していない場合はアカウント登録を求められます

2, downloadしたtar.gzを好きな位置に配置
配置した場所で

$ tar -xvf archive.tar.gz

4, PATHの設定

$ export PATH=<path to GraalVM>/Contents/Home/bin:$PATH

$ echo $PATH
graalvmが表示されていれば成功

$ export JAVA_HOME=<path to GraalVM>/Contents/Home

以上です。

バージョンの確認をしてみましょう

$ java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit GraalVM EE 19.3.1 (build 25.241-b07-jvmci-19.3-b07, mixed mode)

$ node -v
v12.14.0

$ lli --version
LLVM (GraalVM EE Native 19.3.1)

これでGraalVMの動作環境ができました。
次回からkotlinでGraalVMを使用してプログラムを実行していきます

追記

Docker Hubに公式imageがあるようですね
https://hub.docker.com/r/oracle/graalvm-ce/

こちらの方が圧倒的に楽なのでこちらでやっていこうと思います

docker pull oracle/graalvm-ce:19.3.1

docker run -it oracle/graalvm-ce:19.3.1 bash
1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4