国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

java之jvm加載器例舉

瀏覽:10日期:2022-08-15 17:09:00

在java的學(xué)習(xí)中,對于jvm模塊我們會不斷補(bǔ)充一些知識點(diǎn),畢竟jvm是比較重要的一個組成部分。本篇圍繞jvm加載器展開介紹,在加載類的時候,我們的加載器會逐個進(jìn)行工作,在具體的加載器類型上,想必大家還不是很清楚。下面我們就java之jvm加載器的4中類型帶來介紹。

1、Bootstrap ClassLoader (引導(dǎo)類加載器)

負(fù)責(zé)加載$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++實現(xiàn)的核心庫,也就是JVM調(diào)用每個系統(tǒng)的API實現(xiàn)系統(tǒng)功能,實現(xiàn)跨平臺的主要模塊,不是ClassLoader子類。開發(fā)者不能直接使用。

2、Extension ClassLoader (擴(kuò)展類加載器)

負(fù)責(zé)加載java平臺中擴(kuò)展功能的一些jar包,包括$JAVA_HOME中jre/lib/*.jar或-Djava.ext.dirs指定目錄下的jar包,開發(fā)者可以直接使用。

3、Application ClassLoader (應(yīng)用加載)

負(fù)責(zé)記載classpath中指定的jar包及目錄中class。根據(jù)需要,通過class的全限定名來加載類,可以通過classLoader.getSystemClassLoader()來獲取它。

4、Custom ClassLoader (用戶加載器)

屬于應(yīng)用程序根據(jù)自身需要自定義的ClassLoader,繼承java.lang.classLoader類。如tomcat、jboss都會根據(jù)j2ee規(guī)范自行實現(xiàn)ClassLoader。

實例擴(kuò)展:

根類加載器(BootstrapLoader)

package jvmTest;import java.net.URL;import sun.misc.Launcher;public class Boot { public static void main(String[] args) { /* * 這里有可能報錯 Access restriction: The type ’Launcher’ is not API * 只需要將 全局屬性Project>preferences>java>Compiler>Errors/Warnings> * 把右側(cè)的【Deprecated and restricted API>Forbidden reference的Error】置為【W(wǎng)arning】. */ URL[] urls = sun.misc.Launcher.getBootstrapClassPath().getURLs(); for(int i = 0; i < urls.length; i++) { System.out.println(urls[i].toExternalForm()); } }}

當(dāng)類被加載之后,系統(tǒng)為之生成一個對應(yīng)的Class對象,接著將會進(jìn)入連接階段,連接階段負(fù)責(zé)把類的二進(jìn)制數(shù)據(jù)合并到JRE中。類連接又可分為如下3個階段。

驗證:驗證階段用于檢驗被加載的類是否有正確的內(nèi)部結(jié)構(gòu),并和其他類協(xié)調(diào)一致。Java是相對C++語言是安全的語言,例如它有C++不具有的數(shù)組越界的檢查。這本身就是對自身安全的一種保護(hù)。驗證階段是Java非常重要的一個階段,它會直接的保證應(yīng)用是否會被惡意入侵的一道重要的防線,越是嚴(yán)謹(jǐn)?shù)尿炞C機(jī)制越安全。驗證的目的在于確保Class文件的字節(jié)流中包含信息符合當(dāng)前虛擬機(jī)要求,不會危害虛擬機(jī)自身安全。其主要包括四種驗證,文件格式驗證,元數(shù)據(jù)驗證,字節(jié)碼驗證,符號引用驗證。

四種驗證做進(jìn)一步說明:

文件格式驗證:主要驗證字節(jié)流是否符合Class文件格式規(guī)范,并且能被當(dāng)前的虛擬機(jī)加載處理。例如:主,次版本號是否在當(dāng)前虛擬機(jī)處理的范圍之內(nèi)。常量池中是否有不被支持的常量類型。指向常量的中的索引值是否存在不存在的常量或不符合類型的常量。 元數(shù)據(jù)驗證:對字節(jié)碼描述的信息進(jìn)行語義的分析,分析是否符合java的語言語法的規(guī)范。 字節(jié)碼驗證:最重要的驗證環(huán)節(jié),分析數(shù)據(jù)流和控制,確定語義是合法的,符合邏輯的。主要的針對元數(shù)據(jù)驗證后對方法體的驗證。保證類方法在運(yùn)行時不會有危害出現(xiàn)。 符號引用驗證:主要是針對符號引用轉(zhuǎn)換為直接引用的時候,是會延伸到第三解析階段,主要去確定訪問類型等涉及到引用的情況,主要是要保證引用一定會被訪問到,不會出現(xiàn)類等無法訪問的問題。

到此這篇關(guān)于java之jvm加載器例舉的文章就介紹到這了,更多相關(guān)java之jvm加載器有幾種內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美日韩精品一区二区视频在线观看 | 韩国免又爽又刺激激情视频 | 一色屋色费精品视频在线观看 | 国产做爰一区二区 | 国产精品自在线 | 成人国产在线观看 | 亚洲国产欧美在线人成aaa | 国产精品无码久久久久 | 在线播放国产真实女同事 | 中国内地毛片免费高清 | 99视频在线观看高清 | 国产欧美一区二区三区久久 | 亚洲精品综合一区二区 | 日本高清aⅴ毛片免费 | 99色在线视频 | 亚洲精品亚洲人成毛片不卡 | 特级aa毛片在线播放 | 91成人在线视频 | 精品中文字幕不卡在线视频 | 欧美一级在线免费观看 | 精品久久久中文字幕二区 | 国产伦精品一区二区三区四区 | 国产三级小视频在线观看 | 亚洲毛片在线看 | 国产精品99在线观看 | 久久久久久毛片免费观看 | 久久久久久久国产a∨ | 一本色道久久综合 | 久久香蕉国产线看观看式 | www.自拍| aaa国产一级毛片 | mm在线精品视频 | 亚洲国产一区二区a毛片日本 | 97久久精品一区二区三区 | 三级久久 | 亚洲第一成人天堂第一 | 欧美国产高清 | 亚州视频一区二区 | 国产精品一区二区在线观看 | 日本不卡不码高清免费观看 | 一级a俄罗斯毛片免费 |