3_雙親委派機制

LilyFlower發表於2024-03-14

雙親委派機制

Java虛擬機器對Class檔案採用的是按需載入的方式,也就是說當需要使用該類的時候才會將它的class檔案載入到記憶體生成Class物件,而且載入某個類的Class檔案時,Java虛擬機器採用的是雙親委派模式,即把請求交給父類處理,它是一種任務委派模式。

工作原理

  1. 如果一個類載入器收到了類載入請求,它並不會自己先去載入,而是把這個請求委託各自己的父類去執行。
  2. 如果父類載入器還存在其父類載入器,則進一步向上委託,依次遞迴,請求最終將到達頂層的啟動類載入器。
  3. 如果父類載入器可以完成類載入任務,就成功返回,倘若父類載入器無法完成類載入任務,子載入器就會嘗試自己去載入,這就是雙親委派機制。

示例圖如下:

雙親委派機制示意圖

雙親委派機制的優勢

  • 避免類的重複載入
  • 保護程式安全,防止核心API被隨意篡改(安全沙箱)

相關文章