類載入過程 物件的建立過程

2022-03-09 05:33:28 字數 1147 閱讀 8475

1、jvm發現要使用乙個類,首先要到方法區中找;如果找到了,就直接使用,如果沒有找到,才會去找這個類的class檔案,然後載入;

(在找class檔案時,是根據classpath配置的位址去找;如果沒有配置,就在當前目錄找)

2、在硬碟上找到class檔案後,就開始載入這個class,根據書寫順序,先後將靜態成員載入到靜態區域,非靜態成員載入到非靜態區域;

3、接下來為所有的靜態成員變數分配變數空間,同時賦預設值;

4、接下來根據書寫的順序為靜態成員變數顯示賦值,同時執行靜態**塊;

上面的步驟都執行完畢,類載入完成;

1、首先jvm在堆記憶體中開闢空間;

2、在物件空間中為類中的所有非靜態成員變數分配空間,賦預設值;

3、呼叫相應的建構函式進棧;

4、在執行建構函式中的**之前,先要執行隱式三步:

a)super():呼叫父類建構函式

b)給物件空間中的非靜態成員變數顯示賦值

c)執行構造**塊

5、完成隱式三步後,接下來開始執行建構函式中的**;

建構函式結束出棧,物件建立完成;

類的載入過程和物件的建立

類的載入過程 1 啟動jvm,引導程式中需要使用的 class 檔案。2 在載入class檔案的時候,所有的靜態內容 靜態成員變數,靜態成員函式,靜態 塊 都要載入到方法區的靜態區中。3 當類中的所有靜態載入完成之後,開始給類中的所有靜態成員變數預設初始化。4 類中的所有靜態成員變數預設初始化完成之...

類載入過程

類載入時機 1 new 靜態屬性,靜態方法呼叫 2 people.class 獲取class物件 3 載入子類時需提前載入父類 4 main函式所在的類需要載入 類載入器 也是一種類,可由其他類載入器載入 頂級父類載入器有c,c 寫成,不能由其他類載入器載入 載入類 雙親委派模型 從子類到父類依次查...

類載入過程

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