java虛擬機 類初始化 階段

java虛擬機 類初始化 階段

ID:2018176

大?。?2.50 KB

頁數(shù):2頁

時間:2017-11-14

java虛擬機 類初始化 階段_第1頁
java虛擬機 類初始化 階段_第2頁
資源描述:

《java虛擬機 類初始化 階段》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、Java虛擬機類初始化階段  在學(xué)習(xí)編程的過程中,我覺得不止要獲得課本的知識,更多的是通過學(xué)習(xí)技術(shù)知識提高解決問題的能力,這樣我們才能走在最前方,更多Java學(xué)習(xí),請登陸瘋狂java官網(wǎng)?! ava虛擬機使用某個類的過程,可分為七個階段:  加載-驗證-準(zhǔn)備-解析-初始化-使用-卸載  本文只介紹在什么情況下對類進(jìn)行初始化?! ava虛擬機規(guī)范對何時進(jìn)行類的初始化做了嚴(yán)格規(guī)范,有且只有四種情況:  1.虛擬機啟動時,指定的主類。  包含main方法的類。  2.遇到new、getstatic、putstatic、invokestatic四條指令時?! ew

2、:使用new關(guān)鍵字實例化對象。  getstatic:讀引用一個類的靜態(tài)字段?! utstatic:寫引用一個類的靜態(tài)字段?! nvokestatic:調(diào)用一個類的靜態(tài)方法。  3.初始化一個類時,先初始化其父類?! 〗涌趧t不是,只有真正引用到了父接口時,才會初始化?! ?.對類進(jìn)行反射調(diào)用時?! y試代碼:  MainClass:  [java]viewplaincopy  packagecom.xuefeng.jvm.load;  /**  *初始化類的時機  *1.虛擬機啟動時指定的主類  *2.new某類的對象時、引用某類的static變量時、設(shè)置某

3、類的變量時、調(diào)用某類的static方法時  *3.初始化一個類時,先初始化其父類。接口則不是,真正使用到了父接口時,才會初始化父接口。  *4.通過反射調(diào)用某類時  *@authorxuefeng  publicclassMainClass{  static{  System.out.println("MainClassinit.");  }  //1  publicstaticvoidmain(String[]args)throwsClassNotFoundException{  ////2  //System.out.println("SuperClass.

4、F_V1:"+SuperClass.F_V1);  //System.out.println("SuperClass.v1:"+SuperClass.v1);  ////3  //SubClasss1=newSubClass();  //3.1如果通過子類名引用父類的static變量,是否會觸發(fā)子類的初始化?  //這取決于具體的虛擬機實現(xiàn),SunHotSpot虛擬機此時是不會觸發(fā)子類的初始化的?! ystem.out.println(SubClass.v1);  //4  Class.forName("com.xuefeng.jvm.load.SubClas

5、s");  }  }  SuperClass:  [java]viewplaincopy  packagecom.xuefeng.jvm.load;  publicclassSuperClass{  static{  System.out.println("SuperClassinit.");  }  /**  *引用v1時,會初始化SuperClass  */  publicstaticintv1=1;  /**  *引用F_V1時,不會初始化SuperClass  *staticfinal的變量,已經(jīng)在編譯器放到了常量池里  */  publicstatic

6、finalintF_V1=1;  }  SubClass:  [html]viewplaincopy  packagecom.xuefeng.jvm.load;  /**  *@authorxuefeng  *  */  publicclassSubClassextendsSuperClass{  static{  System.out.println("SubClassinit.");  }  }  瘋狂Java培訓(xùn)專注軟件開發(fā)培訓(xùn),提升學(xué)員就業(yè)能力,重點提升實踐動手能力。技術(shù)知識沉淀深厚的老師,讓你感受Java的魅力,激發(fā)你對于編程的熱愛,讓你在半年的時間內(nèi)

7、掌握8-10萬的代碼量,掌握J(rèn)ava核心技術(shù),成為真正的技術(shù)高手;通過大量全真企業(yè)項目瘋狂訓(xùn)練,迅速積累項目經(jīng)驗。讓你成為技能型的現(xiàn)代化高端人才,迅速獲得高薪就業(yè)!時間不等人,趕緊聯(lián)系我們吧!

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。