java基礎之—類載入器

來源:互聯網
上載者:User

標籤:命令   建立   產生   概述   靜態變數   擴充   trap   欄位   就是   

要瞭解類載入器先要瞭解類的載入一、類的載入(類的載入概述)當程式要使用某個類時,如果該類還未被載入到記憶體中,則系統會通過載入,串連,初始化三步來實現對這個類進行初始化。
1、載入 
  1. 就是指將class檔案讀入記憶體,並為之建立一個Class對象。
  2. 任何類被使用時系統都會建立一個Class對象。

其中class對象也就是下一章節要將的反射的重點。其中這個class對象描述了這個對象的所有資訊,比如都有哪些構造方法,都有哪些成員方法,都有哪些欄位等。2、串連 
  1. 驗證 是否有正確的內部結構,並和其他類協調一致
  2. 準備 負責為類的靜態成員分配記憶體,並設定預設初始化值
  3. 解析 將類的位元據中的符號引用替換為直接引用

3、初始化

 就是我們以前講過的初始化步驟3.1 類初始化時機(class初始化時機)
  1. 建立類的執行個體
  2. 訪問類的靜態變數,或者為靜態變數賦值
  3. 調用類的靜態方法
  4. 使用反射方式來強制建立某個類或介面對應的java.lang.Class對象(這就是反射,反向載入類)
  5. 初始化某個類的子類
  6. 直接使用java.exe命令來運行某個主類
二、類載入器1、類載入器
  1. 負責將.class檔案載入到記憶體中,並為之產生對應的Class對象。
  2. 雖然我們不需要關心類載入機制,但是瞭解這個機制我們就能更好的理解程式的運行。
2、類載入器的組成
  1. Bootstrap ClassLoader 根類載入器
  2. Extension ClassLoader 擴充類載入器
  3. Sysetm ClassLoader 系統類別載入器
3、類載入器的作用3.1 Bootstrap ClassLoader 根類載入器也被稱為引導類載入器,負責Java核心類的載入
比如System,String等。在JDK中JRE的lib目錄下rt.jar檔案中
3.2 Extension ClassLoader 擴充類載入器負責JRE的擴充目錄中jar包的載入。
在JDK中JRE的lib目錄下ext目錄
3.3 System ClassLoader 系統類別載入器負責在JVM啟動時載入來自java命令的class檔案,以及classpath環境變數所指定的jar包和類路徑

java基礎之—類載入器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.