JVM——类加载机制
?
虛擬機把描述類的數據從Class文件加載到內存,并對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型,這就是虛擬機的類加載機制。
在Java語言中,類型的加載、連接和初始化過程都是在程序運行期間完成的,這種策略雖然會令類加載時稍微增加一些性能開銷,但是會為Java應用程序提供高度的靈活性,Java里天生可以動態擴展的語言特性就是依賴運行期動態加載和動態連接這個特點實現的。
類加載的生命周期包括:加載(Loading)、驗證(Verification)、準備(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸載(UnLoading)7個階段。其中驗證、準備、解析3個部分統稱為連接(Linking)。
什么情況下需要開始類加載過程的第一階段:加載?Java虛擬機規范中沒有進行強制約束,這點可以交給虛擬機的具體實現來自由把握。但是對于初始化階段,虛擬機規范則是嚴格規定了有且只有5種情況必須立即對類進行“初始化”(而加載、驗證、準備自然需要在此之前開始):
對于這5種會觸發類進行初始化的場景,虛擬機規范中使用了一個很強烈的限定語:“有且只有”,這5種場景中的行為稱為對一個類進行主動引用。
類的加載過程詳解鏈接
轉載于:https://www.cnblogs.com/zhengbin/p/5631349.html
總結
以上是生活随笔為你收集整理的JVM——类加载机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot 整合 kafka
- 下一篇: JS jeDate日期控件使用