java之JVM各類機制是什么

本篇內(nèi)容介紹了“java之JVM各類機制是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元玉田做網(wǎng)站,已為上家服務(wù),為玉田各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

1.類加載機制

分為加載、驗證 、準(zhǔn)備 、解析 、初始化、 使用 、卸載。

(1)加載

在硬盤上查找并通過IO讀入字節(jié)碼文件,使用到類時才會加載,例如調(diào)用類的main()方法,new對象 等等,在加載階段會在內(nèi)存中生成一個代表這個類的java.lang.Class對象,作為方法區(qū)這個類的各種數(shù)據(jù)的訪問入口 。

(2)驗證

校驗字節(jié)碼文件的正確性 。

(3)準(zhǔn)備

給類的靜態(tài)變量分配內(nèi)存,并賦予默認(rèn)值 。

(4)解析

將符號引用替換為直接引用,該階段會把一些靜態(tài)方法(符號引用,比如main()方法)替換為指向數(shù)據(jù) 所存內(nèi)存的指針或句柄等(直接引用),這是所謂的靜態(tài)鏈接過程(類加載期間完成),動態(tài)鏈接是在程 序運行期間完成的將符號引用替換為直接引用,下節(jié)課會講到動態(tài)鏈接 。

(5)初始化

2.雙親委派機制

對類的靜態(tài)變量初始化為指定的值,執(zhí)行靜態(tài)代碼塊。

應(yīng)用程序類加載器AppClassLoader加載類的雙親委派機制源碼,AppClassLoader的loadClass方法最終會調(diào)用其父類ClassLoader的loadClass方法,該方法的大體邏輯如下:

首先,檢查一下指定名稱的類是否已經(jīng)加載過,如果加載過了,就不需要再加載,直接返回。

如果此類沒有加載過,那么,再判斷一下是否有父加載器;如果有父加載器,則由父加載器加載(即調(diào)用parent.loadClass(name, false);)。或者是調(diào)用bootstrap類加載器來加載。

如果父加載器及bootstrap類加載器都沒有找到指定的類,那么調(diào)用當(dāng)前類加載器的findClass方法來完成類加載。

3.全盤負(fù)責(zé)委托機制

“全盤負(fù)責(zé)”是指當(dāng)一個ClassLoder裝載一個類時,除非顯示的使用另外一個ClassLoder,該類所依賴及引用的類也由這個ClassLoder載入。

“java之JVM各類機制是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

分享題目:java之JVM各類機制是什么
URL地址:http://bm7419.com/article44/jjeiee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、自適應(yīng)網(wǎng)站微信公眾號、標(biāo)簽優(yōu)化、小程序開發(fā)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)