????????????????????Щ????????м????????????????????潻????е???????????????????

????????????????class?????????????????jvm???ζ????????jvm?е????????????class???????????java???????????????????????????????????硢????????????????????????????????????????????????????????????????????????????????Class?????????????java???????????????????????????????????????????????????????16????д??????jvm??????Щ???????У???????????Щ?к????????????jvm?????????

??????????????????????裺?????????->????????->????????->???????????

?????????????????????????????Class????????淶?? ?????汾???????????jvm?汾???????ok??????????????????????????????б???????????3??У?鶼????????????е??

?????????????????????????????????????廯????????????????????????java????????淶??

???????????飺???????????????????м??飬?????????????????????????????????

???????????????????????Щ?????????????????????????????????????????????????????Щ???????????????????????з?????????????Щ????????????Щ????????????н???????顣???????????????????????????????

?????????κ????????????????????????Щ??????????ò??????????????????ο????????-Xverify??none???????????????????????????????????

???????????沽????????????????????

???????λ????????????Щ???????????????沢??????????????????Σ???Щ???????????н??з?????????????£????????????Щ??????????????????????????Щ????????????????????????з?????????????????????????????????е???????????棺

public static int value=123;

???????????Σ?value?????????0????????123???????????????????κ?java????123??????????????????????????123?????value??putstatic??????????????????<clinit>()?????????value????123?????????????????е??

??????????и?????

public static final int value=123;

????????????????value??????????123???????????????????javac???????????value???????ConstantValue???????????????jm????????ConstantValue??????value??????

????????????????н??????????????????????Σ????????????????????????漰??Class???????????????????????

??????????????????????????????

???????????????????У???????????????????????????????????????????????????????jvm????????????????飬???????????java????????

?????????????????Щ?????????????????????Σ????????????й????????????

??????????????????????г????<clinit>()???????????????????????о????<clinit>()??????

????<clinit>()?????????????????????б??????????????е???????????????????????????е?????????????????????????????????????е??????

????<clinit>();??????????????????????????????????????<clinit>();???????????????????<clinit>();??????????????????????????????????????????????е????????е?<clinit>()???????????java.lang.Object????

?????????????????????£?

    static class Parent{ 
        public static int A=1; 
        static{ 
            A=2; 
        } 
    } 
    static class Sub extends Parent{ 
        public static int B=A; 
    } 
    public static void main(String[] args){ 
        System.out.println(Sub.B); 
    }