類別載入機制包括載入、連結和初始化三個步驟。載入: 將 class 檔案二進位資料讀入內存,建立字節碼描述物件。連結:驗證、準備和解析字節碼描述對象,將其關聯至其他類別。初始化:執行靜態初始化程序,賦值靜態變數,建立繼承關係。當類別不再被引用時,JVM 執行可達性分析標記可回收類,垃圾回收器回收標記類內存,但靜態變數仍保留在記憶體中。
前言
瞭解Java 虛擬機器(JVM )的類別載入機制對於掌握Java 開發至關重要。本文將深入探討 JVM 如何載入、連結和卸載類,並透過實際案例來說明此機制。
類別載入程序
類別載入過程包含以下三個步驟:
類別卸載程序
當類別不再被引用時,JVM 會執行下列步驟將其卸載:
實戰案例
範例程式碼:
public class MyClass { private static int staticVar = 10; private int instanceVar = 20; public static void main(String[] args) { MyClass obj = new MyClass(); System.out.println(staticVar); // 输出 10 System.out.println(obj.instanceVar); // 输出 20 } }
##類別載入分析:
被實例化時,它的class 檔案被載入到內存,建立字節碼描述物件。
類別。
被賦值為 10,類別與其子類別建立繼承關係。
類別卸載分析:
當obj變數超出作用域並被垃圾回收後:
物件被標記為可回收,因為artık不再引用。
物件的記憶體空間。
仍然保留在記憶體中,因為它是由類別載入器維護的。
以上是深入淺出JVM類別載入機制:從載入到卸載的詳細內容。更多資訊請關注PHP中文網其他相關文章!