類載入過程

2021-10-06 15:48:25 字數 479 閱讀 8321

類載入時機

1)new 靜態屬性,靜態方法呼叫

2)people.class 獲取class物件

3)載入子類時需提前載入父類

4)main函式所在的類需要載入

類載入器(也是一種類,可由其他類載入器載入)

頂級父類載入器有c,c++寫成,不能由其他類載入器載入

載入類:

雙親委派模型

從子類到父類依次查詢之前是否載入過這個類若載入過,返回載入後產物(class物件);若當前類載入器未載入過,向父類繼續查詢,若無從父類到子類依次嘗試載入

第二大階段(鏈結階段)

驗證:符合虛擬機器要求,不能危害虛擬機器安全

準備:給靜態變數開闢記憶體並型別預設值

解析:將常量池內的符號引用替換為直接引用

第三大階段(初始化階段)

給靜態變數賦值

類載入過程

類從被載入到jvm中開始,到解除安裝為止,整個生命週期包括 載入 驗證 準備 解析 初始化 使用和解除安裝七個階段。其中類載入過程包括載入 驗證 準備 解析和初始化五個階段。鏈結階段要做的是將 載入到jvm 中的 二進位制位元組流 的類資料資訊 合併到jvm的執行時狀態中 經由驗證 準備和解析三個階...

類載入過程

類載入過程 public class ssclass public class superclass extends ssclass protected static int value 123 public superclass 類載入過程 載入 驗證 準備 解析 初始化 使用 解除安裝 載入 根...

Java 類載入過程

1 載入 載入的過程本質上是乙個讀取二進位制資料的過程。可以是檔案,網路資料,記憶體中的資料等,這一階段是可以自定義的。載入過程中會在堆中初始化乙個 class 物件。2 驗證 驗證就是驗證這堆二進位制資料是不是有效的,就是這個 class 資料是否可以載入虛擬機器。例如驗證檔案是否是 0xcafe...