黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 深入了解Java虛擬機(jī)架構(gòu)

深入了解Java虛擬機(jī)架構(gòu)

更新時(shí)間:2022-03-25 11:19:56 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1847次

JVM(Java 虛擬機(jī))架構(gòu)

JVM(Java虛擬機(jī))是一種抽象機(jī)器。它是一種提供運(yùn)行時(shí)環(huán)境的規(guī)范,可以在其中執(zhí)行 java 字節(jié)碼。

JVM 可用于許多硬件和軟件平臺(tái)(即 JVM 是平臺(tái)相關(guān)的)。

JVM架構(gòu)

讓我們了解一下JVM的內(nèi)部架構(gòu)。它包含類加載器、Java虛擬機(jī)內(nèi)存區(qū)域、執(zhí)行引擎等。

1.類加載器

Classloader 是 JVM 的一個(gè)子系統(tǒng),用于加載類文件。每當(dāng)我們運(yùn)行 java 程序時(shí),它首先由類加載器加載。Java中有三個(gè)內(nèi)置的類加載器。

Bootstrap ClassLoader:這是第一個(gè)類加載器,它是擴(kuò)展類加載器的超類。它加載包含Java標(biāo)準(zhǔn)版所有類文件的rt.jar文件,如java.lang包類、java.net包類、java.util包類、java.io包類、java.sql包類等。

Extension ClassLoader:這是 Bootstrap 的子類加載器和 System 類加載器的父類加載器。它加載位于$JAVA_HOME/jre/lib/ext目錄中的 jar 文件。

System/Application ClassLoader:這是擴(kuò)展類加載器的子類加載器。它從類路徑加載類文件。默認(rèn)情況下,類路徑設(shè)置為當(dāng)前目錄。您可以使用“-cp”或“-classpath”開關(guān)更改類路徑。它也被稱為應(yīng)用程序類加載器。

//讓我們看一個(gè)打印類加載器名稱的例子  
公共類 ClassLoaderExample   
{  
    公共靜態(tài)無(wú)效 主要(字符串 [] 參數(shù))    
    {  
        // 讓我們打印當(dāng)前類的類加載器名稱。   
        //Application/System類加載器會(huì)加載這個(gè)類  
        類 c=ClassLoaderExample。類;  
        System.out.println(c.getClassLoader());  
        //如果我們打印String的類加載器名稱,它會(huì)打印null,因?yàn)樗且粋€(gè)  
        //在rt.jar中找到的內(nèi)置類,因此它由Bootstrap類加載器加載  
        System.out.println( String.class .getClassLoader ());  
    }  
}     

輸出:

sun.misc.Launcher$AppClassLoader@4e0e2f2a
空值

這些是 Java 提供的內(nèi)部類加載器。如果要?jiǎng)?chuàng)建自己的類加載器,則需要擴(kuò)展 ClassLoader 類。

2.類(方法)區(qū)

Class(Method) 區(qū)域存儲(chǔ)每個(gè)類的結(jié)構(gòu),例如運(yùn)行時(shí)常量池、字段和方法數(shù)據(jù)、方法的代碼。

3.堆

它是分配對(duì)象的運(yùn)行時(shí)數(shù)據(jù)區(qū)。

4.堆棧

Java Stack 存儲(chǔ)幀。它保存局部變量和部分結(jié)果,并在方法調(diào)用和返回中發(fā)揮作用。

每個(gè)線程都有一個(gè)私有 JVM 堆棧,與線程同時(shí)創(chuàng)建。

每次調(diào)用方法時(shí)都會(huì)創(chuàng)建一個(gè)新框架。框架在其方法調(diào)用完成時(shí)被銷毀。

5.程序計(jì)數(shù)器寄存器

PC(程序計(jì)數(shù)器)寄存器包含當(dāng)前正在執(zhí)行的Java虛擬機(jī)指令的地址。

6.原生方法棧

它包含應(yīng)用程序中使用的所有本機(jī)方法。

7.執(zhí)行引擎

它包含了:

虛擬處理器

解釋器:讀取字節(jié)碼流然后執(zhí)行指令。

Just-In-Time(JIT) 編譯器:用于提高性能。JIT 同時(shí)編譯具有相似功能的部分字節(jié)碼,從而減少編譯所需的時(shí)間。這里,術(shù)語(yǔ)“編譯器”是指從Java虛擬機(jī)(JVM)的指令集到特定CPU的指令集的翻譯器。

8.Java 原生接口

Java Native Interface (JNI) 是一個(gè)框架,它提供了一個(gè)接口來(lái)與用另一種語(yǔ)言(如 C、C++、Assembly 等)編寫的另一個(gè)應(yīng)用程序進(jìn)行通信。Java 使用 JNI 框架將輸出發(fā)送到控制臺(tái)或與 OS 庫(kù)進(jìn)行交互。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 最新中文字幕在线观看 | 国产亚洲sss在线观看 | 中文国产成人精品久久无广告 | 国产成人免费影片在线观看 | 在线观看国产黄色 | 日韩第一页在线 | 免费看一级黄色录像 | 欧美一级α片 | 日韩激情视频在线 | 9966国产精品视频 | 特级淫片日本高清视频 | 午夜国产大片免费观看 | 在线视频观看免费视频18 | 91免费网站 | 福利视频精品 | 久久久久久网 | 久久精品国产日本波多麻结衣 | 香焦视频在线观看黄 | 精品成人免费播放国产片 | 欧美sss视频 | 九九久久精品这里久久网 | 又色又爽又黄的三级视频在线观看 | 一区二区视频在线免费观看 | 色中色欧美 | 亚洲人成网址在线播放a | 亚洲αv| 天天干妹子 | 国产欧美精品一区二区三区 | 男人午夜剧场 | 97国产成人精品免费视频 | 成人毛片手机版免费看 | 一级片黄色免费 | 91精品欧美一区二区综合在线 | 国产1区2区3区在线观看 | 躁夜夜躁 | 欧美日韩在线精品成人综合网 | 轻轻啪qqp.cc | 国产成人免费高清在线观看 | 亚洲免费在线观看 | 国产日韩欧美视频在线观看 | 国产91在线|亚洲 |