java類什么時候加載?,加載類的原理機制是怎么樣的?


java類什么時候加載?,加載原理機制是怎么樣的?

 

答:

很多人都不是很清楚java的class類什么時候加載在運行內存中,其實類加載的時間是發生在一下幾種情況:

1.實例化對象時,就像spring管理的bean一樣,在tomcat啟動時就實例化了bean,那么這個對象bean的類就加載了

2.通過類名調用靜態變量的時候(類名.class除外)

 

jvm加載java類的原理:

JVM類加載機制分為五個部分:加載,驗證,准備,解析,初始化。

 

加載

加載是類加載過程中的一個階段,這個階段會在內存中生成一個代表這個類的java.lang.Class對象。

驗證

這一階段的主要目的是為了確保Class文件的字節流中包含的信息是否符合當前虛擬機的要求,並且不會危害虛擬機自身的安全。

准備

准備階段是正式為類變量分配內存並設置類變量的初始值階段,即在方法區中分配這些變量所使用的內存空間。

 

解析

解析階段是指虛擬機將常量池中的符號引用替換為直接引用的過程。

初始化

初始化階段是類加載最后一個階段,前面的類加載階段之后,除了在加載階段可以自定義類加載器以外,其它操作都由JVM主導。到了初始階段,才開始真正執行類中定義的Java程序代碼,比如類構造方法,靜態塊等


免責聲明!

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



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