Java面試題:JVM中的類加載機制


JVM 的類加載機制是指 JVM 把描述類的數據從 .class 文件加載到內存,並對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的 Java 類型,這就是 JVM 的類加載機制。

類加載的生命周期
類的生命周期總共分為7個階段:加載、驗證、准備、解析、初始化、使用和卸載。其中驗證、准備、解析三個步驟又可統稱為連接。
加載、驗證、准備、初始化和卸載五個步驟的順序都是確定的,解析階段在某些情況下有可能發生在初始化之后,這是為了支持 Java 語言的運行期綁定的特性。
在 JVM 虛擬機規范中並沒有規定加載的時機,但是卻規定了初始化的時機,而加載、驗證、准備三個步驟是在初始化之前。

類加載器
一般分為啟動類加載器(Bootstrap ClassLoader),擴展類加載器(Extension ClassLoader),應用程序類加載器(Application ClassLoader)
雙親委派機制

上圖所示的這種關系我們就稱之類加載器的雙親委派模型。在雙親委派模型中,除了頂層的 Bootstrap ClassLoader 之外,其他的類加載器都有自己的父加載器。
雙親委派模型的工作流程:如果一個類加載器收到了類加載請求,它並不會自己先去加載,而是把這個請求委托給父類的加載器去執行,如果父類加載器還存在其父類加載器,則進一步向上委托,依次遞歸,請求最終將到達頂層的啟動類加載器,只有當父類加載器無法完成這個類加載請求時,才會讓子類加載器去處理這個請求。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM