18216026475
網(wǎng)報價格:詳詢
課程原價:詳詢
課程詳情| 學(xué)校簡介| 學(xué)校地址| 網(wǎng)上報名
1,類的加載
每個開發(fā)人員對java.lang.ClassNotFoundExcetpion這個異常肯定都不陌生,這背后就涉及到了java技術(shù)體系中的類加載。Java的類加載機(jī)制是技術(shù)體系中比較核心的部分,雖然和大部分開發(fā)人員直接打交道不多,但是對其背后的機(jī)理有一定理解有助于排查程序中出現(xiàn)的類加載失敗等技術(shù)問題,對理解java虛擬機(jī)的連接模型和java語言的動態(tài)性都有很大幫助。
那么什么是類的加載?
類的加載指的是將類的.class文件中的二進(jìn)制數(shù)據(jù)讀入到內(nèi)存中,將其放在運行時數(shù)據(jù)區(qū)的方法區(qū)內(nèi),然后在堆區(qū)創(chuàng)建一個java.lang.Class對象,用來封裝類在方法區(qū)內(nèi)的數(shù)據(jù)結(jié)構(gòu)。類的加載的**終產(chǎn)品是位于堆區(qū)中的Class對象,Class對象封裝了類在方法區(qū)內(nèi)的數(shù)據(jù)結(jié)構(gòu),并且向Java程序員提供了訪問方法區(qū)內(nèi)的數(shù)據(jù)結(jié)構(gòu)的接口。
類加載器是 Java 語言的一個創(chuàng)新,也是 Java 語言流行的重要原因之一。它使得 Java 類可以被動態(tài)加載到 Java 虛擬機(jī)中并執(zhí)行。類加載器從 JDK 1.0 就出現(xiàn)了,**初是為了滿足 Java Applet 的需要而開發(fā)出來的。Java Applet 需要從遠(yuǎn)程下載 Java 類文件到瀏覽器中并執(zhí)行?,F(xiàn)在類加載器在 Web 容器和 OSGi 中得到了廣泛的使用,而類加載器并不需要等到某個類被“首次主動使用”時再加載它,JVM規(guī)范允許類加載器在預(yù)料某個類將要被使用時就預(yù)先加載它,如果在預(yù)先加載的過程中遇到了.class文件缺失或存在錯誤,類加載器必須在程序首次主動使用該類時才報告錯誤(LinkageError錯誤)如果這個類一直沒有被程序主動使用,那么類加載器就不會報告錯誤。
2,類的生命周期
類加載的過程中包括有加載,驗證,準(zhǔn)備,解析,初始化五個階段。而需要注意的是在這五個階段中,加載、驗證、準(zhǔn)備和初始化這四個階段發(fā)生的順序是確定的,而解析階段則不一定,它在某些情況下可以在初始化階段之后開始,這是為了支持Java語言的運行時綁定(也成為動態(tài)綁定或晚期綁定)。另外注意這里的幾個階段是按順序開始,而不是按順序進(jìn)行或完成,因為這些階段通常都是互相交叉地混合進(jìn)行的,通常在一個階段執(zhí)行的過程中調(diào)用或激活另一個階段。
加載:查找并加載類的二進(jìn)制數(shù)據(jù)
加載時類加載過程的**個階段,在加載階段,虛擬機(jī)需要完成以下三件事情:
1、通過一個類的全限定名來獲取其定義的二進(jìn)制字節(jié)流。(并沒有指明要從一個Class文件中獲取,可以從其他渠道,譬如:網(wǎng)絡(luò)、動態(tài)生成、數(shù)據(jù)庫等)
2、將這個字節(jié)流所代表的靜態(tài)存儲結(jié)構(gòu)轉(zhuǎn)化為方法區(qū)的運行時數(shù)據(jù)結(jié)構(gòu)。
3、在Java堆中生成一個代表這個類的java.lang.Class對象,作為對方法區(qū)中這些數(shù)據(jù)的訪問入口。
相對于類加載的其他階段而言,加載階段(準(zhǔn)確地說,是加載階段獲取類的二進(jìn)制字節(jié)流的動作)是可控性**強的階段,電腦培訓(xùn)http://**.kmbdqn.com/發(fā)現(xiàn)因為開發(fā)人員既可以使用系統(tǒng)提供的類加載器來完成加載,也可以自定義自己的類加載器來完成加載。
《北大青鳥云南嘉薈授權(quán)培訓(xùn)中心》是全國知名IT教育機(jī)構(gòu)北大青鳥集團(tuán)授權(quán)昆明精靈軟件技術(shù)公司,重資投入的教學(xué)培訓(xùn)中心,依托北京大學(xué)雄厚的教育資源和強大的師資力量,秉承北大青鳥“教育改變生活”的理念,以高薪就業(yè)為導(dǎo)向,致力于為西南地區(qū)培養(yǎng)更多優(yōu)秀的IT專業(yè)人才,從而為建設(shè)信息化的“魅力云南”做出貢獻(xiàn)。 北大青鳥云南嘉薈中心位于國貿(mào)片區(qū)二環(huán)南路與春城路交界處的高檔寫字樓群銀海.領(lǐng)域中,東臨春城路,西接昆明火車站,南靠福達(dá)路,北邊與昆明國家會展中心遙遙相望。周邊既有白領(lǐng)高端舒適的工作氛圍,更有寧靜幽雅的學(xué)習(xí)環(huán)境。 教學(xué)中心整體2000平米精裝,可容納500名學(xué)生同時就讀IT行業(yè)熱門緊缺專業(yè)技術(shù)。機(jī)房硬件配置高端,所有教員均通過北大青鳥北京認(rèn)證培訓(xùn),實戰(zhàn)傳授IT人才急缺的技能。為給緊張求學(xué)的學(xué)生提供輕松舒適的環(huán)境,校區(qū)內(nèi)還配有獨立食堂、閱覽室、書吧、時尚咖啡廳。食宿便利,并有360度監(jiān)控保證學(xué)生安全。 為達(dá)到云南省信息化快速發(fā)展的要求,和對接北上廣深I(lǐng)T行業(yè)高薪崗位要求,北大青鳥云南嘉薈中心憑借優(yōu)質(zhì)的教學(xué)管理、成熟的課程體系、面向IT企業(yè)級的技術(shù)實訓(xùn),外塑學(xué)生技能,內(nèi)修學(xué)員素質(zhì),培養(yǎng)全面、合格的人才,多維度打開學(xué)生的就業(yè)發(fā)展空間,入學(xué)簽訂協(xié)議,保障學(xué)員高薪就業(yè),達(dá)到學(xué)員、家長、就業(yè)企業(yè)、家鄉(xiāng)發(fā)展的多贏目標(biāo)。
學(xué)校名稱:云南嘉薈教育信息咨詢有限公司
固定電話:18216026475
授課地址:云南省昆明市官渡區(qū)春城路銀海領(lǐng)域16棟商務(wù)樓1樓 預(yù)約參觀
網(wǎng)上報名搶優(yōu)惠
價格:詳詢 云南嘉薈教育信息咨詢有限公司