請你解釋一下類載入機制,雙親委派模型,好處是什麼?

  • 2019 年 10 月 4 日
  • 筆記

劍指–>Offer

01

某個特定的類載入器在接到載入類的請求時,首先將載入任務委託給父類載入器,依次遞歸,如果父類載入器可以完成類載入任務,就成功返回;只有父類載入器無法完成此載入任務時,才自己去載入。

使用雙親委派模型的好處在於Java類隨著它的類載入器一起具備了一種帶有優先順序的層次關係。例如類java.lang.Object,它存在在rt.jar中,無論哪一個類載入器要載入這個類,最終都是委派給處於模型最頂端的Bootstrap ClassLoader進行載入,因此Object類在程式的各種類載入器環境中都是同一個類。相反,如果沒有雙親委派模型而是由各個類載入器自行載入的話,如果用戶編寫了一個java.lang.Object的同名類並放在ClassPath中,那系統中將會出現多個不同的Object類,程式將混亂。因此,如果開發者嘗試編寫一個與rt.jar類庫中重名的Java類,可以正常編譯,但是永遠無法被載入運行。

02

寫在後面

本文章將以「指導面試,智取Offer」為宗旨,為廣大Java開發求職者掃清面試道路上的障礙,成為面試官眼中的精英,朋友圈裡的大神。在面試場上「胸有成竹」,坦然面對每個面試官的「拷問」,做到進可攻「項目經理、項目總監」等高級職務,視之為翹首可及;退可守「Java工程師、Java測試工程師」等職務,視之為探囊取物。無論進退、皆可立於不敗之地。

The end

文字 / 々仗劍走天涯

配圖 / 々仗劍走天涯

排版 / 々仗劍走天涯

Java Life

與你同在