前面文章說到了類加載器接下來小編就繼續(xù)說‘連接、初始化和數(shù)據(jù)區(qū)’。連接分為:驗(yàn)證、準(zhǔn)備和識(shí)別三個(gè)階段。

創(chuàng)新互聯(lián)長期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為南陽企業(yè)提供專業(yè)的
網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),
南陽網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
驗(yàn)證——字節(jié)碼校驗(yàn)器會(huì)檢查生成的字節(jié)碼是否正確如果驗(yàn)證失敗則會(huì)驗(yàn)證錯(cuò)誤
準(zhǔn)備——對(duì)于所有靜態(tài)變量的內(nèi)存分配和默認(rèn)值分配
識(shí)別——解析或識(shí)別是從運(yùn)行時(shí)常量池的符號(hào)引用中動(dòng)態(tài)具體值的過程
初始化
這是類裝入的最后階段,類或接口的初始化由執(zhí)行類或接口初始化方法構(gòu)成這里所有的靜態(tài)變量與原來的值將被指派,靜態(tài)塊將被執(zhí)行。
運(yùn)行時(shí)數(shù)據(jù)區(qū)
運(yùn)行時(shí)數(shù)據(jù)區(qū)域分為5個(gè)主要組件:
方法區(qū)——所有的類級(jí)別的數(shù)據(jù)將存儲(chǔ)在這里,包括靜態(tài)變量。每個(gè)虛擬機(jī)區(qū)域只有一個(gè)方法它是一個(gè)共享資源。一般會(huì)包含一個(gè)運(yùn)行時(shí)常量池(運(yùn)行時(shí)常量池:一個(gè)存儲(chǔ)了類文件格式中的常量池表的內(nèi)存空間這部分空間雖然存在于方法區(qū)內(nèi),但卻在JVM操作中扮演著舉足輕重的角色因此JVM規(guī)范單獨(dú)把這一部分拿出來描述。除了每個(gè)類或接口中定義的常量它還包含了所有對(duì)方法和字段的引用。因此當(dāng)需要一個(gè)方法或字段時(shí)JVM通過運(yùn)行時(shí)常量池中的信息從內(nèi)存空間中來查找其相應(yīng)的實(shí)際地址)。
堆區(qū)域——所有的對(duì)象和相應(yīng)的實(shí)例變量和數(shù)組將存儲(chǔ)在這里。還有一堆區(qū)域每個(gè)虛擬機(jī)自方法和堆區(qū)域多個(gè)線程共享內(nèi)存,存儲(chǔ)的數(shù)據(jù)不是線程安全的。
分享文章:淺析JAVA程序運(yùn)行模式及虛擬機(jī)JVM(三)
文章來源:http://jinyejixie.com/article32/cjdssc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、微信公眾號(hào)、網(wǎng)站營銷、微信小程序、靜態(tài)網(wǎng)站、服務(wù)器托管
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)