以前に本ブログでJavaからJavaScriptへ変換するツールを取り上げましたが、
http://toaruit.hatenablog.com/entry/2017/08/20/225402
今回はJavaでJavaScriptを実行する術について、紹介します。
下記の記事にある通り、元々あった「Nashorn」が非推奨となってしまったのでGraalVMを使った方法が挙げられています。
【JavaでJavaScriptを実行する「Nashorn」が非推奨に、ECMAScriptの速い進化に追いつけないと。代替案はGraalVM】
https://www.publickey1.jp/blog/18/javajavascriptnashornecmascriptgraalvm.html
GraalVM上でJavaScriptを実行する環境が、GraalJSになります。このGraalJSを例にGraalVMの概要を紹介できればと思います。
特徴としては、VM上でJavaScriptが実行されるので実行速度の向上が見込めるのと、polyglotの機能かなと感じます。下記のページで概要を紹介されています。
【GraalJS-README】
https://github.com/graalvm/graaljs/blob/master/README.md
polyglotの機能については、下記のページで紹介されています。Java上で埋め込んだJavaScriptのコードが実行されているのが、分かりますね。
【Reference polyglot】
https://www.graalvm.org/docs/reference-manual/polyglot/
インストール方法等は、下記のページにあります。rubyやRなんかも動かせます。
【GraalVM getting-start】