類加載
- 程式要使用類時,若類尚未被加載到記憶體,系統則會通過:類的加載,類的連接,類的初始化,這三個步驟來對類進行初始化,
- 如無意外,JVM(Java虛擬機)會連續完成以上三個步驟,
- 這三個步驟可以統稱為:類加載 / 類初始化,
類的加載
- 將class檔案讀入記憶體,并創建java.lang.Class物件
- 任何類被使用時,系統都會為其建立java.lang.Class物件
類的連接
- 驗證:檢驗被加載的類是否有正確的內部結構,并和其他類協調一致
- 準備:為類的<類變數>分配記憶體,并設定默認初始值
- 決議:將類的二進制資料中的<符號參考>替換為<直接參考>
類的初始化
主要是對<類變數>初始化


類加載器


ClassLoader:是負責加載類的物件


案例:
public class demo1 {
public static void main(String[] args) {
//回傳用于委派的系統類加載器
ClassLoader cl = ClassLoader.getSystemClassLoader();
//AppClassLoader
System.out.println(cl);
//回傳父類加載器進行委派
ClassLoader parent = cl.getParent();
//PlatformClassLoader
System.out.println(parent);
ClassLoader parent1 = parent.getParent();
//Bootstrap class loader:是虛擬機的內置加載類,通常表示為null
System.out.println(parent1);
}
}
運行結果:
jdk.internal.loader.ClassLoaders$AppClassLoader@3fee733d
jdk.internal.loader.ClassLoaders$PlatformClassLoader@10f87f48
null
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/543849.html
標籤:Java
上一篇:【開發寶典】Java并發系列教程
