Który zostanie załadowany pierwsza zmienna statyczna lub blok statyczny? [duplikować

To pytanie ma już odpowiedź tutaj:

Java: w jakiej kolejności inicjowane są statyczne pola końcowe? 5 odpowiedzi

Jeden z moich znajomych zapytał mnie, co załaduje pierwszą zmienną statyczną lub blok statyczny.

Moja odpowiedź wskazuje na zmienną statyczną.

Więc dał mi dwa równania i powiedział, żeby je rozróżnić
First Equation

public class Some {
    public static void main(String args[])
    {
        System.out.println(Some.x);
    }
    static {
        System.out.println(Some.x);
    }
    static int x=90;
}

O / P: 0 90

Drugie równanie

public class Some {
    public static void main(String args[])
    {
        System.out.println(Some.x);
    }
    static int x=90;
    static {
        System.out.println(Some.x);
    }
}

O / P: 90 90

Próbowałem zdekompilować kod bajtu i znalazłem to samo dla obu powyższych równań. Proszę o pomoc w rozróżnieniu między nimi. Nie jestem pewien, kiedy zostanie zainicjowana zmienna statyczna.

questionAnswers(4)

yourAnswerToTheQuestion