查找和導入class文件。java
驗證 檢驗載入的class文件的正確性,完整性。api
準備 給類的靜態變量分配存儲空間,會賦對象類型的默認值。數組
解析 將class常量池中的符號引用轉換成直接引用。安全
符號引用和直接引用的區別:指針
對類的靜態變量,代碼塊執行初始化操做,靜態變量賦值順序根據代碼定義的順序執行。對象
注意:blog
靜態常量在編譯階段把初始值存入class文件的常量池中,在類的準備階段,將值賦給靜態變量。繼承
1.類加載器包括:BootstrapClassLoader、ExtensionClassLoader、 ApplicationClassLoader、自定義的類加載器。 2.雙親委派模型:若是一個類加載器收到了加載類的請求,首先交給父類加載器進行加載,若是父類加載器加載失敗,當前類纔會本身加載類。 3.雙親委派的做用:避免重複加載,父類已經加載子類不用加載,防止用戶自定義加載器加載java核心的api,帶來安全隱患。 4.一個類是否被加載是經過全類名和命名空間肯定的,命名空間是加載類的加載器名。內存
繼承classloader類,重寫findClass方法。ssl