Java類載入的解析階段

2021-06-09 06:26:56 字數 593 閱讀 1933

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...