クラスのロードとクラスの初期化は同義であり、通常、初期化/ロードされるクラスが何らかの方法で初めて使用されるときにオンデマンドで発生すると常に考えていました。しかし、コンパイル時定数を保持する最終的な静的フィールドの動作に関するSOのこの回答から、私の信念が間違っていることがわかりました。
クラスのロード と初期化が 2 つの異なるメカニズムであることを明確にする次の点に注意してください。
補足として、クラスのロードとクラスの初期化の違いに注意してください。後者の発生のみが JLS によって正確に指定されます。クラスのロードはいつでも発生する可能性があります。
しかし、誰かがJava言語でのクラスのロードとクラスの初期化の違いを説明できますか. 通常、直感的には、初期化の前に常にロードする必要があると言われていますが、私は完全に間違っています。クラスをロードせずに初期化を行うことはできますか?