手機(jī)訪(fǎng)問(wèn)更快捷
更多流量 更易傳播
隨時(shí)掌握行業(yè)動(dòng)態(tài)
網(wǎng)絡(luò)課堂 行業(yè)直播
產(chǎn)品推薦:水表|流量計(jì)|壓力變送器|熱電偶|液位計(jì)|冷熱沖擊試驗(yàn)箱|水質(zhì)分析|光譜儀|試驗(yàn)機(jī)|試驗(yàn)箱
同類(lèi)產(chǎn)品
上海佳實(shí)電子科技有限公司的軟件工程師在部分的開(kāi)發(fā)項(xiàng)目中使用Java編程語(yǔ)言。
小編為您介紹Java的反射機(jī)制。在運(yùn)行時(shí)去獲取一個(gè)類(lèi)的變量和方法信息。然后通過(guò)獲取到的信息來(lái)創(chuàng)建對(duì)象,調(diào)用方法的一種機(jī)制。由于這種動(dòng)態(tài)性,可以增強(qiáng)程序的靈活性,程序不用在編譯期就完成確定,在運(yùn)行期仍可擴(kuò)展。
類(lèi)加載的描述
當(dāng)程序要使用某個(gè)類(lèi)時(shí),如果該類(lèi)還未被加載到內(nèi)存中,則系統(tǒng)會(huì)通過(guò)類(lèi)的加載,類(lèi)的連接,類(lèi)的初始化這三個(gè)步驟來(lái)對(duì)類(lèi)進(jìn)行初始化。如果不出現(xiàn)意外情況,JVM將會(huì)連續(xù)完成這三個(gè)步驟,所以有時(shí)也把這三個(gè)步驟稱(chēng)為類(lèi)加載或者類(lèi)初始化。
類(lèi)的加載
就是指將class文件讀入內(nèi)存,并為之創(chuàng)建一個(gè) java.lang.Class 對(duì)象
類(lèi)被使用時(shí),系統(tǒng)會(huì)為之建立一個(gè) java.lang.Class 對(duì)象
類(lèi)的連接
驗(yàn)證階段:用于檢驗(yàn)被加載的類(lèi)是否有正確的內(nèi)部結(jié)構(gòu),并和其他類(lèi)協(xié)調(diào)一致
準(zhǔn)備階段:負(fù)責(zé)為類(lèi)的類(lèi)變量分配內(nèi)存,并設(shè)置默認(rèn)初始化值
解析階段:將類(lèi)的二進(jìn)制數(shù)據(jù)中的符號(hào)引用替換為引用
類(lèi)的初始化
在該階段,主要就是對(duì)類(lèi)變量進(jìn)行初始化
假如類(lèi)中有初始化語(yǔ)句,則系統(tǒng)依次執(zhí)行這些初始化語(yǔ)句
使用反射方式來(lái)創(chuàng)建某個(gè)類(lèi)或接口對(duì)應(yīng)的java.lang.Class對(duì)象
初始化某個(gè)類(lèi)的子類(lèi)
直接使用java.exe命令來(lái)運(yùn)行某個(gè)主類(lèi)
相關(guān)產(chǎn)品
免責(zé)聲明
客服熱線(xiàn): 15267989561
加盟熱線(xiàn): 15267989561
媒體合作: 0571-87759945
投訴熱線(xiàn): 0571-87759942
下載儀表站APP
Ybzhan手機(jī)版
Ybzhan公眾號(hào)
Ybzhan小程序