亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

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

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

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

2、連接

1)驗(yàn)證

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

2)準(zhǔn)備

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

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

3)解析

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

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

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

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

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

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

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

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

每一個(gè)類只會(huì)初始化一次,并且初始化的過程時(shí)線程安全的。

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

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

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

2)new一個(gè)類的對象時(shí)

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

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

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

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

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

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

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

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

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

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 精品一区二区三区在线观看l | 国产成人精品日本亚洲网址 | 精品福利视频在线观看 | 青青青国产依人在在线观看高 | 免费一级片在线 | 在线日韩中文字幕 | 成人欧美日韩高清不卡 | bunker国产videos| 一品毛片 | 亚洲国产日韩在线观频 | 非洲特黄一级毛片高清视频 | 国产一区系列在线观看 | 成人亚洲欧美日韩在线观看 | 黄色毛片视频在线观看 | 久青草国产在线 | 亚洲成人日韩 | 欧州一级毛片 | 亚洲欧美中文日韩综合 | 欧美喷水 | 国产精品免费一级在线观看 | 欧美a级片视频 | 欧美高清在线不卡免费观看 | 欧美videos另类极品 | 黄色影视在线 | 中文字幕亚洲另类天堂 | 中文字幕一精品亚洲无线一区 | 精品在线观看国产 | 一级毛片一级毛片一级毛片一级毛片 | 国产亚洲精品美女久久久久 | 成年人黄色小视频 | 中文字幕在线播放不卡 | 欧美日韩视频在线一区二区 | 国产大尺度吃奶无遮无挡 | 欧美亚洲h在线一区二区 | 午夜剧场刺激性爽免费视频 | 视频一区二区国产无限在线观看 | 中国美女bbbbbxxxxx | 最新国产精品 | 中文永久免费观看网站 | 你懂的免费网站 | 思思九九 |