私はそれがJavaで静的ブロックをどのように動かすのか疑問を抱いています。私が理解しているように、静的ブロック内のコードは、クラスがJVMによってロードされるたびに実行されます。私が理解していないのは、正確にクラスがロードされたときです。例についてはJAVAスタティックブロックが何回実行されたか?
は、のは、私はクラスMyObject
内部の静的なブロックを持って、その後、別のクラスから、私はこのコードを持っていると仮定してみましょう:
MyObject o1= new MyObject();
MyObject o2= new MyObject();
静的ブロックが、この場合に実行される何回?
問題は何ですか?クラスがロードされたとき、またはスタティックブロックが何回実行されたとき? – seal
@seal - 両方の質問にお答えしました – Szanownego
クラスは最初にロードする必要があります。 JVMがこれを行うときは、JVMの実装に依存します。 –