1)創(chuàng)建某個類的新實例(new痰憎,不明確的創(chuàng)建牵祟,反射陨享,克隆或反序列化);
2)調(diào)用類的靜態(tài)方法(即執(zhí)行字節(jié)碼invokestatic指令);
3)使用某個類的或接口的靜態(tài)字段急膀,或者對該字段賦值(即執(zhí)行字節(jié)碼getstatic,putstatic指令)画株,用final修飾的靜態(tài)字段除外辆飘,因為被初始化為一個編譯時的常量表達(dá)式;
4)調(diào)用Java API中的反射方法
5)初始化某個類的子類(某個類被初始化,超類必須已經(jīng)被初始化了)
6)虛擬機(jī)啟動某個被標(biāo)明啟動類的類(包含main方法的那個類)谓传,和條款3類似蜈项,靜態(tài)方法