静的な「定数」(つまり、初期化後に変更されない) データ構造を初期化したい状況があります。「静的 {}」コード ブロックでこれを行っています。このコード ブロックが 2 回実行されないことが保証されていますか? 特別な場合に同期が必要ですか?
更新: 答えの一部はAre Java static initializers thread safe?にあります。
疑問が残ります:静的初期化子を複数回実行するにはどうすればよいですか? そして、それは問題ですか?異なる静的な「インスタンス」に対して複数回実行されると思います。異なる webapp コンテキストで、互いに「見えない」ように異なるクラス ローダーにアタッチされます。正しい?