叨叨兩句
慢慢適應新的節奏了函數
27-01: 類的加載概述和加載時機
類的加載概述
- 當程序要使用某個類時,若是該類還未被加載到內存中,則系統會經過加載,鏈接,初始化三步。
類的加載步驟
- 加載
就是指將class文件讀入內存,併爲之建立一個Class對象。任何類被使用時系統都會創建。
-
鏈接spa
- 驗證:是否有正確的內部結構,並和其餘類協調一致。
- 準備:負責爲類的靜態成員分配
- 解析:將類的二進制數據中的符號引用替換爲直接引用。
-
初始化對象
- 默認初始化
- 顯示初始化
- 構造函數初始化
27-02:類加載器的概述和分類
類加載器的概述
負責將.class文件加載到內存中,併爲之生成對應的Class對象。內存
類加載器的分類
- Bootstrap ClassLoader——根類加載器【又稱引導類加載器】
- Extension ClassLoader——擴展類加載器
- System ClassLoader——系統類加載器
類加載器的做用
- BootStrap ClassLoader 負責Java核心類的加載
- Extension ClassLoader 負責JRE的擴展目錄中jar包的加載
- System ClassLoader 負責在JVM啓動時加載來自Java命令的class文件,以及classpath環境變量所指定的jar包和類路徑