Java類加載基本過程

基本過程:
 
根據類的全限定名稱加載定義類的二進制字節流。
將字節流代表的靜態存儲結構轉化爲方法區的運行時數據結構
內存中生成一個代表這個類的java.lang.Class對象,作爲方法去這個類的各種數據訪問入口
 
數組類本身不通過類加載器創建,由java虛擬機直接創建,數組類的元素類型由類加載器加載。
數組類的元素類型:數組去掉所有維度後的類型,
 
文件格式驗證:
0xCAFEBABY 魔數開頭;
主次版本號當前虛擬機可處理;
常量類型;
索引執行類型;
utf8編碼數據類型,
 
元數據驗證:字節碼描述信息語義分析:
是否有父類;
父類是否繼承了final修飾的類;
非抽型類是否實現了父類或接口中需要實現的方法;
類中的字段、方法的覆蓋,重載矛盾;
 
字節碼驗證:通過語義流及控制流分析確定程序予以的合法性,正確性,方法體分析驗證。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章