真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java類的加載過程包括哪些內(nèi)容-創(chuàng)新互聯(lián)

這篇“Java類的加載過程包括哪些內(nèi)容”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java類的加載過程包括哪些內(nèi)容”文章吧。

10年積累的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有河間免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

  類加載過程主要包含加載、驗證、準(zhǔn)備、解析、初始化、使用、卸載七個方面。

  一、加載

  在加載階段,虛擬機(jī)主要完成三件事:

  1.通過一個類的全限定名來獲取定義此類的二進(jìn)制字節(jié)流。

  2.將這個字節(jié)流所代表的靜態(tài)存儲結(jié)構(gòu)轉(zhuǎn)化為方法區(qū)域的運(yùn)行時數(shù)據(jù)結(jié)構(gòu)。

  3.在Java堆中生成一個代表這個類的java.lang.Class對象,作為方法區(qū)域數(shù)據(jù)的訪問入口。

  二、驗證

  驗證階段作用是保證Class文件的字節(jié)流包含的信息符合JVM規(guī)范,不會給JVM造成危害。如果驗證失敗,就會拋出一個java.lang.VerifyError異?;蚱渥宇惍惓?。驗證過程分為四個階段:

  1.文件格式驗證:驗證字節(jié)流文件是否符合Class文件格式的規(guī)范,并且能被當(dāng)前虛擬機(jī)正確的處理。

  2.元數(shù)據(jù)驗證:是對字節(jié)碼描述的信息進(jìn)行語義分析,以保證其描述的信息符合Java語言的規(guī)范。

  3.字節(jié)碼驗證:主要是進(jìn)行數(shù)據(jù)流和控制流的分析,保證被校驗類的方法在運(yùn)行時不會危害虛擬機(jī)。

  4.符號引用驗證:符號引用驗證發(fā)生在虛擬機(jī)將符號引用轉(zhuǎn)化為直接引用的時候,這個轉(zhuǎn)化動作將在解析階段中發(fā)生。

  三、準(zhǔn)備

  準(zhǔn)備階段為變量分配內(nèi)存并設(shè)置類變量的初始化。在這個階段分配的僅為類的變量(static修飾的變量),而不包括類的實例變量。對已非final的變量,JVM會將其設(shè)置成“零值”,而不是其賦值語句的值:

  pirvate static int size = 12;

  那么在這個階段,size的值為0,而不是12。 final修飾的類變量將會賦值成真實的值。

  四、解析

  解析過程是將常量池內(nèi)的符號引用替換成直接引用。主要包括四種類型引用的解析。類或接口的解析、字段解析、方法解析、接口方法解析。

  五、初始化

  在準(zhǔn)備階段,類變量已經(jīng)經(jīng)過一次初始化了,在這個階段,則是根據(jù)程序員通過程序制定的計劃去初始化類的變量和其他資源。這些資源有static{}塊,構(gòu)造函數(shù),父類的初始化等。

  至于使用和卸載階段階段,這里不再過多說明,使用過程就是根據(jù)程序定義的行為執(zhí)行,卸載由GC完成。

以上就是關(guān)于“Java類的加載過程包括哪些內(nèi)容”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章題目:Java類的加載過程包括哪些內(nèi)容-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/escdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部