更新時間:2022-02-24 16:54:57 來源:動力節點 瀏覽2251次
Java虛擬機或JVM是Java運行時系統。它是一個有助于驅動Java代碼的虛擬機環境。與其他編程語言不同,每當我們編譯Java程序時,它永遠不會生成機器碼。盡管如此,Java編譯器會為Java虛擬機生成字節碼。
JVM允許我們同時解決可移植性和安全性問題:
在計算機編程中,平臺一詞代表程序運行的環境。平臺無關僅僅意味著程序可以在不同平臺上輕松執行,而無需重寫和重新編譯。這僅是可能的。因為將Java程序轉換為字節碼可以更容易地在不同環境中執行程序,因為每個平臺只需要實現JVM。
盡管JVM會因平臺而異,但它們可以理解相同的Java字節碼。這使得Java成為一種獨立于平臺的技術,也證明了WORA(Write Once Run Anywhere)的合理性。
JVM在安全方面扮演著重要的角色。JVM正在執行的Java程序也有助于使其安全,因為JVM負責執行環境,它可以包含程序并防止出現系統外部的問題。這是因為字節碼已經過高度優化,字節碼可以讓JVM更快地運行程序。JVM還會驗證字節碼,以確保程序的進一步安全運行。
Java虛擬機或JVM的內部架構包括:
類加載器在運行時初始化類文件。它動態加載類并讀取.Class文件并保存在方法區域中創建的字節碼。它的三個主要功能是加載、鏈接和初始化。類加載器主要分為三種類型:
每個JVM都有一個方法區。方法區存儲所有類級別的數據,如類名、方法、靜態變量、非靜態變量、字段等。
堆區默認存放對象數據和對應的實例變量。
將為每個單獨的線程創建一個單獨的運行時堆棧。創建的每個堆棧塊稱為堆棧幀,用于存儲相應的局部變量。線程被銷毀后,堆棧由JVM自動終止。
將為每個線程創建一個單獨的PC寄存器。它保存當前執行數據的數據。一旦執行停止,PC寄存器將自動更新到下一部分。
包含我們程序中使用的所有本機方法。
執行引擎逐行執行字節碼。它包含三個主要組件:
Java Native Interface(JNI)是一個框架,它提供了一個接口來與本地方法庫交互并調用用C、C++、Assembly等語言編寫的應用程序。
以上就是動力節點小編介紹的"所有關于Java虛擬機學習的掌握",希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習