久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Java類加載連接和初始化原理解析

瀏覽:2日期:2022-09-04 16:46:37

1、當(dāng)程序使用某個類時,JVM將會完成以下這三個步驟

Java類加載連接和初始化原理解析

2、連接

1)驗證

驗證是否是合法的字節(jié)碼文件。驗證JDK版本是否正確等。

2)準備

給成員變量(類變量/靜態(tài)變量)賦默認值

把常量(final)等值在方法區(qū)的常量池中給準備好。

3)解析

虛擬機常量池內(nèi)的符號引用(常量名)替換為引用(地址)的過程

3、初始化<clinit> 類初始化

<clinit> 類初始化由兩部分組成:

(1)靜態(tài)變量的顯示初始化代碼,賦值代碼

(2)靜態(tài)代碼塊

(1) 和 (2) 的順序從上往下

Java類加載連接和初始化原理解析

當(dāng)一個類初始化時,發(fā)現(xiàn)他的父類沒有初始化,會先初始化父類。

每一個類只會初始化一次,并且初始化的過程時線程安全的。

哪些操作會導(dǎo)致類的初始化?這句話的意思是:類的加載不一定就會發(fā)生類初始化。

- 以下操作會發(fā)生類初始化:

1)main方法所在的類加載時

2)new一個類的對象時

3)調(diào)用該類的靜態(tài)變量(final的常量除外) 和 靜態(tài)方法時

4)使用 java.lang.reflect 包的方法對類進行反射調(diào)用時

5)當(dāng)初始化一個類,如果其父類沒有被初始化,則先會初始化他的父類

- 以下操起不會發(fā)生類的初始化:

1)引用靜態(tài)常量不會觸發(fā)此類的初始化(常量在連接階段就存入了方法區(qū)的常量池中)

2)當(dāng)訪問一個靜態(tài)域時,只有真正聲明這個域的類才會被初始化

當(dāng)通過子類引用父類的靜態(tài)變量,不會導(dǎo)致子類初始化

Java類加載連接和初始化原理解析

3)通過數(shù)組定義類引用,不會觸發(fā)此類的初始化

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 在线一区观看 | 亚洲一区二区精品视频 | 欧美午夜精品一区二区三区电影 | 亚洲福利社区 | 91精品国产综合久久久久久 | 亚洲毛片在线观看 | 国产精品久久久久久一区二区三区 | 福利网址| 欧美盗摄 | 99精品国产高清一区二区麻豆 | 成人性大片免费观看网站 | 天天操综| 欧美黄色激情 | 国产成人精品久久二区二区 | 成人一区二区三区 | 人人人射 | 国产精品美女久久久久久免费 | 999国产在线视频 | 精品久久久久久久 | 久久精品视 | 亚洲福利av | 人人爽在线 | 国产91久久久久 | 动漫羞免费网站中文字幕 | 日韩专区中文字幕 | 国产精品天堂 | www.青青草| 在线观看a视频 | 日韩av资源站 | 久久精品成人免费视频 | 免费特级黄毛片 | 免费毛片网 | 亚洲欧美精选 | 夜夜草天天干 | 国产一区二区三区在线看 | 免费成人在线观看视频 | 中文久久 | 97久久久 | 欧美大成色www永久网站婷 | 一区二区三区视频在线播放 | 中文字幕日韩欧美 |