1、解析階段是虛擬機器將常量池內的符號引用(引用的目標不一定已經載入到記憶體)替換為直接引用(引用的目標一定已經在記憶體中)的過程
2、虛擬機器類載入的解析階段的動作主要針對類或介面、字段、類方法、介面方法四類符號引用進行解析為直接引用
在字段的解析中如果乙個類sub同時繼承父類parents和介面inte***ce2,存在欄位a在sub中沒有,而在父類和介面中都存在的話,則編譯器會拒絕編譯,如下情況
public class test
inte***ce inte***ce1 extends inte***ce0
inte***ce inte***ce2
static class parents implements inte***ce1
static class sub extends parents implements inte***ce2
public static void main(string args)
}
類載入過程的解析和初始化階段
將常量池的符號引用替換為具體的直接引用。用一組符號來描述被引用的目標,引用的目標不一定載入到記憶體中。直接引用可以是直接指向目標的指標,相對偏移量活著間接定位到目標的控制代碼。有了直接引用,引用的目標一定在虛擬機器中。比較複雜,深入理解jvm p222 靜態語句塊不能訪問 public class ...
Java類的載入
為靜態變數開闢空間 預設初始化 然後顯示初始化 靜態 塊 靜態方法 new語句明確首位址,在堆記憶體中為物件開闢相應大小的空間 預設初始化 此時有了this這一概念 成員變數的顯示初始化。構造 塊 建構函式 public class main class demo static 堆 方法區 靜態方法...
java的類載入機制
class testclassacatch exception e class c urlcl.loadclass testclassa testclassa object testclassa c.newinstance object.method catch exception e e.prin...