LoginSignup
2
1

More than 5 years have passed since last update.

Java11:単一ファイルのJavaコードをそのまま実行

Last updated at Posted at 2018-09-26

Java 11がリリースされました。

Java 11正式版がリリース、本バージョンからOracle JDKのサポートは有償に。OpenJDKで無償の長期サポート提供は現時点で期待薄
https://www.publickey1.jp/blog/18/java_11oracle_jdkopenjdk.html

その中の「単一ファイルのJavaコードをそのまま実行」

JEP 330: Launch Single-File Source-Code Programs
http://openjdk.java.net/jeps/330

を試してみた。

インストール

試したのはWindows版。
http://openjdk.java.net/
からリンクたどったんだが、、、Oracle JDKへのリンクを踏んでインストールしてしまった。
OpenJDK 11はいずこへ(後で探す)。

以下からダウンロードできる。
https://jdk.java.net/11

とりあえずインストールして、javaバージョンを確認。
Windowsでjava 8からアップデートしたのだが、
環境変数が変わらずjava 8のままだったので、手動でPATHとJAVA_HOMEのパスをjava11に書き換えた。

$ java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

単一ファイルのJavaコードをそのまま実行

で、単一のjavaファイル

test.java

class Test {
    public static void main(String[] arg) {
        System.out.println("Hello World");
    }
}

コンパイルせずに実行

$ java test.java
Hello World

実行できた。。

もちろんコンパイルして実行も可

$ javac test.java
$ ls
Test.class  test.java
$ java Test
Hello World

あたりまえだけど、
.classファイル使う場合は最初の中間コンパイルがないので、その分実行が早い。

2
1
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
2
1