深入淺出JVM(一):你寫得.java文件是如何被加載到內存中執行的


眾所周知,.java文件需要經過編譯生成.class文件才能被JVM執行。

其中,JVM是如何加載.class文件,又做了些什么呢?

.class文件通過 加載-》驗證-》准備-》解析 等過程,加載到方法區中,等待代碼的調用,下面講講每個步驟都干了些什么吧

 

一、加載

  將.class文件加載到jvm中。

那么何時加載呢?當類被調用的時候!例如:new A();的時候A被加載到內存中。這里需要注意,並不是每次使用的時候都會加載,只是第一次使用的時候加載進來。

 

二、驗證

  驗證.class文件的合規性。

防止.class文件被篡改,導致文件無法執行

 

三、准備

  為類分配內存,給靜態變量默認初始化賦值

 

四、解析

  將符號引用變為直接引用

將引用變成指針指向。

 

上述類加載過程在類加載器完成,細節其實很復雜,我們只需要了解核心即可。而類加載器又涉及到雙親委派。自行學習

  


免責聲明!

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



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