大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 什么是Java虛擬機

什么是Java虛擬機

更新時間:2022-10-11 11:05:31 來源:動力節(jié)點 瀏覽1783次

什么是JVM?

Java 虛擬機 (JVM)是一個引擎,它提供運行時環(huán)境來驅(qū)動 Java 代碼或應(yīng)用程序。它將 Java 字節(jié)碼轉(zhuǎn)換為機器語言。JVM 是 Java 運行時環(huán)境 (JRE) 的一部分。在其他編程語言中,編譯器為特定系統(tǒng)生成機器代碼。但是,Java 編譯器為稱為 Java 虛擬機的虛擬機生成代碼。

JVM 是如何工作的?

首先,Java 代碼被編譯成字節(jié)碼。這個字節(jié)碼在不同的機器上被解釋

在主機系統(tǒng)和 Java 源代碼之間,字節(jié)碼是一種中介語言。

Java中的JVM負責(zé)分配內(nèi)存空間。

 

JVM架構(gòu)

現(xiàn)在在這個 JVM 教程中,讓我們了解 JVM 的體系結(jié)構(gòu)。Java中的JVM架構(gòu)包含類加載器、內(nèi)存區(qū)域、執(zhí)行引擎等。

1.類加載器

類加載器是用于加載類文件的子系統(tǒng)。它執(zhí)行三個主要功能,即。加載、鏈接和初始化。

2.方法區(qū)

JVM 方法區(qū)存儲類結(jié)構(gòu),如元數(shù)據(jù)、常量運行時池和方法代碼。

3.堆

所有的Objects及其相關(guān)的實例變量和數(shù)組都存儲在堆中。該內(nèi)存是通用的,并且在多個線程之間共享。

4.JVM語言棧

Java 語言堆棧存儲局部變量,它是部分結(jié)果。每個線程都有自己的 JVM 堆棧,在創(chuàng)建線程時同時創(chuàng)建。每當(dāng)調(diào)用方法時都會創(chuàng)建一個新框架,并在方法調(diào)用過程完成時將其刪除。

5.PC 寄存器

PC寄存器存儲當(dāng)前正在執(zhí)行的Java虛擬機指令的地址。在 Java 中,每個線程都有其單獨的 PC 寄存器。

6.原生方法棧

本機方法棧保存本機代碼的指令依賴于本機庫。它是用另一種語言而不是 Java 編寫的。

7.執(zhí)行引擎

它是一種用于測試硬件、軟件或完整系統(tǒng)的軟件。測試執(zhí)行引擎從不攜帶任何關(guān)于被測產(chǎn)品的信息。

8.原生方法接口

本機方法接口是一個編程框架。它允許在 JVM 中運行的 Java 代碼被庫和本機應(yīng)用程序調(diào)用。

9.原生方法庫

本機庫是執(zhí)行引擎所需的本機庫(C、C++)的集合。

軟件代碼編譯和執(zhí)行過程

為了編寫和執(zhí)行軟件程序,您需要以下內(nèi)容

1.編輯器 ——要輸入你的程序,可以使用記事本

2.編譯器 - 將您的高級語言程序轉(zhuǎn)換為本機機器代碼

3.鏈接器 ——將主程序中不同的程序文件引用組合在一起。

4.加載器 ——將文件從您的輔助存儲設(shè)備(如硬盤、閃存驅(qū)動器、CD)加載到 RAM 中以供執(zhí)行。執(zhí)行代碼時會自動完成加載。

5.執(zhí)行– 由您的操作系統(tǒng)和處理器處理的代碼的實際執(zhí)行。

在此背景下,請參考以下視頻并了解 JVM(Java 虛擬機)的 JVM 內(nèi)部工作和架構(gòu)。

Java VM中的Java代碼編譯和執(zhí)行

現(xiàn)在在這個 JVM 教程中,讓我們看看 JAVA 的過程。在你的主要,你有兩個方法 f1 和 f2。

main方法存放在文件a1.java中

f1 作為 a2.java 存儲在文件中

f2 作為 a3.java 存儲在文件中

編譯器將編譯這三個文件并生成 3 個對應(yīng)的由 BYTE 代碼組成的 .class 文件。 與 C 不同,沒有進行鏈接。

Java VM 或 Java 虛擬機駐留在 RAM 上。在執(zhí)行期間,使用類加載器將類文件帶到 RAM 中。BYTE 代碼已針對任何安全漏洞進行驗證。

接下來,執(zhí)行引擎會將 Bytecode 轉(zhuǎn)換為 Native 機器碼。這是及時編譯。這是Java相對較慢的主要原因之一。

注意: JIT或即時編譯器是 Java 虛擬機 (JVM) 的一部分。它同時解釋具有相似功能的部分字節(jié)碼。如果大家對此比較感興趣,想了解更多相關(guān)知識,不妨來關(guān)注一下本站的Java視頻教程,里面的課程內(nèi)容細致全面,通俗易懂,適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助。

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

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美成人免费全网站大片 | 天天操夜夜操视频 | 欧美亚洲综合另类型色妞 | 华人欧美国产在线精品 | 亚洲日本视频在线 | 性久久久久 | 日日夜夜人人 | 九九视频在线观看视频 | 亚洲欧美一区二区久久香蕉 | 四虎影视永久地址www成人污 | 中文字幕一区二区视频 | 在线播放成人毛片免费视 | 欧美成人h精品网站 | 国内精品久久久久影 | 国产成人久久精品二区三区牛 | 99热国产这里只有精品99 | 奇米影视第四色在线 | 日韩毛片高清免费 | 91精品国产乱码久久久久久 | 日本一级毛片在线看 | 一级毛片日韩a欧美视频 | 久久国产欧美日韩精品 | 亚洲国产中文字幕 | 草莓视频caomei888 | 欧美日韩中文亚洲v在线综合 | 在线观看精品国语偷拍 | 青青99 | 人人爽天天碰天天躁夜夜躁 | 2018一级毛片免费观看 | 亚洲精品一区二区不卡 | 欧美兽皇video | 奇米第四色在线视频 | 一区二区伦理 | 国产成人精视频在线观看免费 | 国产亚洲欧美在线观看的 | 四虎成人国产精品视频 | 黄色成人一级片 | 日日日日人人人夜夜夜2017 | 欧美成人性做爰 | 色多网站免费视频 | 国产亚洲欧美一区二区 |