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