Javaを試してみると、とても面白いことがわかりました。以下のコードを見つけてください:
public class SimpleTest {
static{
System.out.println(Thread.currentThread().getName());
System.exit(0);
}
}
上記のプログラムは例外なく実行されます(静的ブロック自体で終了しているので、問題ありません)。しかし、私は出力として次のものを取得しました:
主要
メインスレッドを開始していないので、どのようにして作成されましたか。私の理解によると、静的ブロックはロード時に実行されます。では、メインスレッドはどのように浮かび上がりますか?
誰かがjvmでコンパイル、ロード、実行がどのように行われるかを簡単に紹介できますか?また、rt.jarを使用しますか?
よろしくお願いします、ブリナル