色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

JVM體系的三個主要子系統(tǒng)

汽車玩家 ? 來源:黑馬程序員 ? 作者:黑馬程序員 ? 2020-05-05 19:56 ? 次閱讀

快來查看JVM不同組件的概述以及非常有用的圖表。

這是最近在國外論壇看到一個很實用的介紹,分享給大家哦。

每個Java開發(fā)人員都知道字節(jié)碼將由JRE(Java運行時環(huán)境)執(zhí)行。但是,許多人并不知道JRE是Java虛擬機(JVM)的實現(xiàn),它可以分析字節(jié)碼,解釋代碼并執(zhí)行它。作為開發(fā)人員,了解JVM的體系結(jié)構(gòu)非常重要,因為它使我們能夠更高效地編寫代碼。在本文中,我們將更深入地了解Java中的JVM體系結(jié)構(gòu)以及JVM的不同組件。

什么是JVM?

一個虛擬機是一個軟件實現(xiàn)物理機。Java是根據(jù)WORA(可在任何地方運行一次寫入)的概念開發(fā)的,該概念可在VM上運行。該編譯器編譯Java文件轉(zhuǎn)換成一個Java 的.class文件,則該.class文件輸入到JVM,它加載并執(zhí)行類文件。下圖是JVM的體系結(jié)構(gòu)圖。

JVM體系結(jié)構(gòu)圖

JVM體系的三個主要子系統(tǒng)

JVM如何工作?

如上面的架構(gòu)圖所示,JVM分為三個主要子系統(tǒng):

ClassLoader子系統(tǒng)

運行時數(shù)據(jù)區(qū)

執(zhí)行引擎

1. ClassLoader子系統(tǒng)

Java的動態(tài)類加載功能由ClassLoader子系統(tǒng)處理。它加載,鏈接。并在運行時(而非編譯時)首次引用類時初始化類文件。

1.1加載

類將由此組件加載。BootStrap ClassLoader,擴展ClassLoader和Application ClassLoader是有助于實現(xiàn)該目標(biāo)的三個ClassLoader。

BootStrap ClassLoader –負(fù)責(zé)從引導(dǎo)類路徑中加載類,僅用于rt.jar。最高優(yōu)先級將給予此加載程序。

擴展ClassLoader –負(fù)責(zé)加載ext文件夾(jre \ lib)內(nèi)的類。

Application ClassLoader –負(fù)責(zé)加載應(yīng)用程序級別的類路徑,提到的環(huán)境變量路徑等。

上面的ClassLoader在加載類文件時將遵循委托層次算法

1.2連結(jié)

驗證 -字節(jié)碼驗證程序?qū)Ⅱ炞C生成的字節(jié)碼是否正確,如果驗證失敗,我們將收到驗證錯誤。

準(zhǔn)備 –將為所有靜態(tài)變量分配內(nèi)存并為其分配默認(rèn)值。

解決 –將所有符號內(nèi)存引用替換為“方法區(qū)域”中的原始引用。

1.3初始化

這是ClassLoading的最后階段;在此,所有靜態(tài)變量將被分配原始值,并且將執(zhí)行靜態(tài)塊。

2.運行時數(shù)據(jù)區(qū)

運行時數(shù)據(jù)區(qū)分為五個主要部分:

方法區(qū)域–所有類級別的數(shù)據(jù)(包括靜態(tài)變量)都將存儲在此處。每個JVM只有一個方法區(qū)域,它是共享資源。

堆區(qū)–所有對象及其對應(yīng)的實例變量和數(shù)組將存儲在此處。每個JVM還有一個堆區(qū)。由于“方法”和“堆”區(qū)域共享多個線程的內(nèi)存,因此存儲的數(shù)據(jù)不是線程安全的。

堆棧區(qū)–對于每個線程,將創(chuàng)建一個單獨的運行時堆棧。對于每個方法調(diào)用,將在堆棧存儲器中創(chuàng)建一個條目,稱為堆棧幀。所有局部變量都將在堆棧存儲器中創(chuàng)建。堆棧區(qū)域不是共享資源,因此是線程安全的。堆棧框架分為三個子實體:局部變量數(shù)組 –與該方法有關(guān),涉及多少局部變量,并且相應(yīng)的值將存儲在此處。操作數(shù)堆棧 –如果需要執(zhí)行任何中間操作,則操作數(shù)堆棧充當(dāng)執(zhí)行該操作的運行時工作區(qū)。幀數(shù)據(jù) –與該方法相對應(yīng)的所有符號都存儲在此處。在任何例外情況下,捕獲塊信息將保留在幀數(shù)據(jù)中。

PC寄存器 –每個線程將具有單獨的PC寄存器,以在執(zhí)行指令后保存當(dāng)前執(zhí)行指令的地址,PC寄存器將用下一條指令進(jìn)行更新。

本機方法堆棧 –本機方法堆棧保存本機方法信息。對于每個線程,將創(chuàng)建一個單獨的本機方法堆棧。

3.執(zhí)行引擎

分配給運行時數(shù)據(jù)區(qū)的字節(jié)碼將由執(zhí)行引擎執(zhí)行。執(zhí)行引擎讀取字節(jié)碼并逐段執(zhí)行。

解釋器–解釋器解釋字節(jié)碼的速度較快,但執(zhí)行速度較慢。解釋器的缺點是,當(dāng)多次調(diào)用一種方法時,每次都需要新的解釋。

JIT編譯器– JIT編譯器消除了解釋器的缺點。執(zhí)行引擎將使用解釋器的幫助來轉(zhuǎn)換字節(jié)碼,但是當(dāng)發(fā)現(xiàn)重復(fù)的代碼時,它將使用JIT編譯器,該編譯器將編譯整個字節(jié)碼并將其更改為本地代碼。此本地代碼將直接用于重復(fù)的方法調(diào)用,從而提高系統(tǒng)的性能。中間代碼生成器–產(chǎn)生中間代碼代碼優(yōu)化器–負(fù)責(zé)優(yōu)化上面生成的中間代碼目標(biāo)代碼生成器–負(fù)責(zé)生成機器代碼或本機代碼Profiler–一個特殊的組件,負(fù)責(zé)查找熱點,即是否多次調(diào)用該方法。

垃圾收集器:收集并刪除未引用的對象。垃圾回收可以通過調(diào)用觸發(fā)System.gc(),但不能保證執(zhí)行。JVM的垃圾收集收集創(chuàng)建的對象。

Java本機接口(JNI):JNI將與本機方法庫進(jìn)行交互,并提供執(zhí)行引擎所需的本機庫。

本機方法庫:這是本機庫的集合,這是執(zhí)行引擎所需的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1634

    瀏覽量

    49141
  • JVM
    JVM
    +關(guān)注

    關(guān)注

    0

    文章

    158

    瀏覽量

    12235
收藏 人收藏

    評論

    相關(guān)推薦

    簡述光刻工藝的三個主要步驟

    “ 光刻作為半導(dǎo)體中的關(guān)鍵工藝,其中包括3大步驟的工藝:涂膠、曝光、顯影。三個步驟有一異常,整個光刻工藝都需要返工處理,因此現(xiàn)場異常的處理顯得尤為關(guān)鍵”
    的頭像 發(fā)表于 10-22 13:52 ?605次閱讀

    plc控制系統(tǒng)由哪三個組成

    PLC控制系統(tǒng),即可編程邏輯控制器系統(tǒng),是一種廣泛應(yīng)用于工業(yè)自動化領(lǐng)域的控制技術(shù)。它通過編程來實現(xiàn)對工業(yè)設(shè)備的控制,具有高度的靈活性和可靠性。一典型的PLC控制系統(tǒng)通常由以下
    的頭像 發(fā)表于 10-18 09:46 ?1013次閱讀

    自動發(fā)電控制系統(tǒng)具有三個基本功能

    自動發(fā)電控制系統(tǒng)(AGC)具有三個基本功能,這些功能在電力系統(tǒng)的運行和調(diào)度中發(fā)揮著重要作用。以下是這三個基本功能的詳細(xì)解析:
    的頭像 發(fā)表于 10-03 15:05 ?573次閱讀

    相交流電源是三個什么組成

    相交流電源是一種廣泛應(yīng)用于工業(yè)和民用領(lǐng)域的電力系統(tǒng),其主要三個交流電源組成,每個電源的相位相差120度。這種電源系統(tǒng)具有許多優(yōu)點,如傳輸
    的頭像 發(fā)表于 08-23 15:10 ?853次閱讀

    模數(shù)轉(zhuǎn)換器的三個主要技術(shù)指標(biāo)是什么

    處理等。為了評估ADC的性能,我們需要關(guān)注其三個主要技術(shù)指標(biāo):分辨率、采樣率和精度。 1. 分辨率(Resolution) 分辨率是衡量ADC性能的一重要指標(biāo),它表示ADC能夠區(qū)分的最小信號變化。分辨率通常以位(bit)為單位
    的頭像 發(fā)表于 08-22 15:20 ?970次閱讀

    對稱相電壓的特點是哪三個方面

    對稱相電壓是電力系統(tǒng)中常見的一種電壓形式,它具有三個相位,每個相位之間的相位差為120度。對稱相電壓在工業(yè)生產(chǎn)和日常生活中有著廣泛的應(yīng)用,如電動機、變壓器、發(fā)電機等。本文將從
    的頭像 發(fā)表于 08-12 18:18 ?1403次閱讀

    可調(diào)變阻器三個引腳怎么區(qū)分

    的區(qū)分對于正確使用可調(diào)變阻器至關(guān)重要。本文將介紹可調(diào)變阻器的三個引腳的區(qū)分方法。 一、可調(diào)變阻器的工作原理 在了解可調(diào)變阻器的三個引腳之前,我們首先需要了解其工作原理。可調(diào)變阻器主要由一
    的頭像 發(fā)表于 07-24 11:12 ?1310次閱讀

    柔性制造系統(tǒng)由哪三個子系統(tǒng)組成

    的出現(xiàn),極大地提高了生產(chǎn)效率和產(chǎn)品質(zhì)量,降低了生產(chǎn)成本,縮短了產(chǎn)品開發(fā)周期,增強了企業(yè)的市場競爭力。FMS主要三個子系統(tǒng)組成:加工子系統(tǒng)、物料輸送子系統(tǒng)和信息
    的頭像 發(fā)表于 06-11 09:17 ?1475次閱讀

    微波測量的三個基本參量是什么

    微波測量是電子工程領(lǐng)域中的一重要分支,它涉及到對微波信號的頻率、幅度、相位等參數(shù)的測量。在微波測量中,有三個基本參量:頻率、幅度和相位。這三個參量是微波信號的基本特征,對于微波系統(tǒng)
    的頭像 發(fā)表于 05-28 14:46 ?1391次閱讀

    如何判斷極管的三個極性

    極管是電子電路中的基本元件之一,其性能的好壞直接影響到整個電路的性能。而判斷極管的三個極性(基極b、發(fā)射極e、集電極c)是電路分析和設(shè)計中不可或缺的一步。下面將詳細(xì)介紹判斷極管
    的頭像 發(fā)表于 05-21 15:26 ?6647次閱讀

    籬笆三個樁——記晶體極管的發(fā)明

    籬笆三個樁——記晶體極管的發(fā)明
    的頭像 發(fā)表于 05-12 08:14 ?755次閱讀
    一<b class='flag-5'>個</b>籬笆<b class='flag-5'>三個</b>樁——記晶體<b class='flag-5'>三</b>極管的發(fā)明

    柔性制造系統(tǒng)主要由哪三個子系統(tǒng)組成

    柔性制造系統(tǒng)(Flexible Manufacturing System, FMS)主要由以下三個子系統(tǒng)組成:自動化系統(tǒng)、傳輸系統(tǒng)和控制
    的頭像 發(fā)表于 02-02 16:18 ?2752次閱讀

    可控硅觸發(fā)電路必須滿足的三個主要條件

    可控硅觸發(fā)電路必須滿足的三個主要條件 可控硅觸發(fā)電路是由可控硅元件和觸發(fā)電路組成的一種電子元器件,用于控制電路中可控硅元件的導(dǎo)通和截止?fàn)顟B(tài)。要使可控硅觸發(fā)電路正常工作,必須滿足以下三個主要
    的頭像 發(fā)表于 01-31 17:03 ?1513次閱讀

    pid三個參數(shù)分別起到什么作用

    在計算機科學(xué)中,PID(進(jìn)程標(biāo)識符)是一用于唯一標(biāo)識運行中的進(jìn)程的整數(shù)值。PID主要具有以下三個參數(shù)作用: 進(jìn)程創(chuàng)建:PID參數(shù)用于在操作系統(tǒng)中創(chuàng)建新的進(jìn)程。當(dāng)操作
    的頭像 發(fā)表于 01-16 14:56 ?1.2w次閱讀

    飛機的三個舵面以及如何控制

    飛機通常具有三個主要的舵面,它們是方向舵(rudder)、副翼(aileron)和升降舵(elevator)。
    發(fā)表于 01-15 14:54 ?5911次閱讀
    飛機的<b class='flag-5'>三個</b>舵面以及如何控制
    主站蜘蛛池模板: 国产精品A8198V久久A片| 国产AV精品国语对白国产| 少妇人妻偷人精品视蜜桃| 嫩草成人影院| 巨乳中文无码亚洲| 久久久免费观看| 好爽别插了无码视频| 国产精品无码麻豆放荡AV| 国产69精品久久久久乱码免费| zoovideo人与驴mp4| zxfuli午夜福利在线| beeg日本老师| tobu中国日本高清| 超碰国产人人做人人爽| 超碰在线97av视频免费| 北原夏美 快播| 动漫美女3d被爆漫画| 国产成人精选免费视频| 各种肉黄浪荡故事集| 国产黄片毛片| 国产看午夜精品理论片| 国产在线公开视频| 寂寞夜晚在线视频观看| 久久精品免视看国产| 妈妈的朋友5在线观看免费完整版中文 | 18岁末年禁止观看免费1000个| 18禁止看的免费污网站| 99久久精品免费看国产一区二区三区 | 中文字幕久精品视频在线观看| 中国字字幕在线播放2019| 97成人在线视频| 成人综合在线观看| 国产精品亚洲AV毛片一区二区三区| 国产中文视频无码成人精品| 久久精品WWW人人爽人人| 嗯 用力啊 嗯 c我 啊哈老师| 人与人特黄一级| 新金梅瓶玉蒲团性奴3| 一区二区三区无码高清视频| 97精品视频| 敌伦小芳的第一次|