そもそもJavaコマンドとは?
背景
業務の中でそもそもJavaコマンドが実行された場合どんな処理がされているのか?
調べてみた。
Javaコマンドの仕組み
- javaコマンドは、JVM起動するためのコマンド
- JVMは起動後に、指定されたクラスをロードし、クラスのmainメソッドを呼び出す
- javaコマンドの構文
java 完全修飾クラス名 [引数 引数 ...]
詳細
- クラス名の後に続ける引数のことを「起動パラメータ」や「コマンドライン引数」という
- 起動パラメータはスペースで区切って複数指定できる
- 起動パラメータはオプションなので省略が可能
- 起動パラメータとして指定されたデータはJVMによってString配列オブジェクトに格納されmainメソッドの引数として渡される
javaコマンドを実行したときの流れ
- JVMを起動する
- 指定されたクラスをクラスパスから探し出してロードする
- String型配列オブジェクトを作成して起動パラメータを格納する
- 起動パラメータを保持したString配列型オブジェクトへの参照を引数に渡してmainメソッドを実行する
例題
public class Main{
public static void main(String[] args) {
System.out.println(args[0] + " " + args[1]);
}
}
コマンド
$ java Main red blue grenn
Dokojavaで実際にやってみよう!