類加載機制

類加載的類型

  • 根類加載器-BootstrapClassLoader:由c實現,加載JRE的核心類庫,比如jre目錄下的rt.jar、charsets.jar等。
  • 擴展類加載器-ExtensionClassLoader:由Java實現,負責加載jre擴展目錄ext中的jar包。
  • 系統類加載器-ApplicationClassLoader:負責加載classpath路徑下的包。

類加載機制

  • 全盤負責委託機制:當一個ClassLoader加載一個類時,除非顯示的使用另一個ClassLoader,否則該類所依賴和引用的類也都由這個ClassLoader加載。
  • 雙親委派機制:指先委託父類加載器尋找目標類,在找不到的情況下再在自己的路徑中查找並載入目標類。

雙親委派機制的好處

  • 沙箱安全機制:自己寫的api中的類(比如:自己寫一個String類)不會被加載,防止api庫被隨意篡改。
  • 避免重複加載類:當父(上級)類加載器已經加載了該類時,就沒有必要子(下級)類加載器再重複加載了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章