jshellでファイルを読み込んでスクリプトみたいに実行する

jshellはファイルを読み込んで実行できます.
そのため,Javaコードをファイルに書いておいて,jshellで読み込ませてスクリプトみたいに実行できます.
これがホントのJavaScriptですね.

以下の様なファイルを用意してみましょう

System.out.println("This is the true Java Script!!")
/ex

ポイントはファイルの最後に/exを付けることです!
/exは/exitの省略形で,jshellを終了させます.
これが無いと,Welcomeメッセージが出力され,jshellセッションが始まってしまいます.

実行は単純に「jshell file.jsh」とするだけです.

$ ~/bin/jdk9b122/bin/jshell file.jsh 
This is the true Java Script!!

注意点としては,プログラムが実行されるまでに結構時間がかかります.
jshellを実行するとJVMインスタンスが2つ立ち上がるためです.
jshellのプロンプトとコンパイルを実行するJVMインスタンスと,コードを実行するJVMインスタンスです.
また,jshellは起動時に,補完のために現在読み込まれているクラスパスのインデックス化を行うためでもあります.

更に,一行ずつコンパイルを行うため,その部分でもオーバヘッドがあり,javaコマンドでクラスファイルを実行するのと同じ程の実行時間にはならない点にも注意してください.

まぁ,気軽にJavaコードを実行できるようになったのは良いですね.