中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java虛擬機是什么

發布時間:2020-10-20 15:57:12 來源:億速云 閱讀:161 作者:小新 欄目:編程語言

小編給大家分享一下java虛擬機是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

什么是JVM?

Java虛擬機(JVM)是運行Java字節碼的虛擬機,它是java編程語言的核心。當我們運行程序時,JVM負責將字節代碼轉換為特定于機器的代碼。JVM還依賴于平臺,并提供核心Java函數,如內存管理,垃圾收集,安全性等。

JVM被稱為虛擬,因為它提供的接口不依賴于底層操作系統和機器硬件。這種與硬件和操作系統的獨立性使得java程序可以在任何地方進行一次寫入。

在現實世界中,JVM是一種規范,它提供了一個可以執行Java字節碼的運行時環境。

JVM可以做什么?

JVM執行以下操作:

1、加載代碼

2、驗證代碼

3、執行代碼

3、提供運行時環境

JVM提供以下定義:

1、記憶區

2、類文件格式

3、注冊集

4、垃圾收集堆

5、致命錯誤報告等

JVM架構

讓我們來了解一下JVM的內部架構。它包含有類加載器,內存區域,執行引擎等。

java虛擬機是什么

1、類加載器

Classloader是JVM的子系統,用于加載類文件。每當我們運行java程序時,它首先由類加載器加載。Java中有三個內置的類加載器。

1)、Bootstrap ClassLoader:這是第一個類擴展,它是Extension類加載器的超類。它加載rt.jar文件,該文件包含Java Standard Edition的所有類文件,如java.lang包類,java.net包類,java.util包類,java.io包類,java.sql包類等。

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

3)、System / Application ClassLoader:這是Extension類加載器的子類加載器。它從類路徑加載類文件。默認情況下,classpath設置為當前目錄。您可以使用“-cp”或“-classpath”開關更改類路徑。它也被稱為Application類加載器。

2、類(方法)區域

Method區域存儲每類結構,例如運行時常量池,字段和方法數據,方法的代碼。

3、堆

Heap是分配對象的運行時數據區域。

4、堆疊

Java 堆疊存儲幀。Stack包含局部變量和部分結果,并在方法調用和返回中起作用。

每個線程都有一個私有JVM堆棧,與線程同時創建。

每次調用方法時都會創建一個新幀。當方法調用完成時,框架將被銷毀。

5、程序計數器寄存器(Program Counter Register)

PC(Program Counter)寄存器包含當前正在執行的Java虛擬機指令的地址。

6、原生方法堆棧(Native Method Stack)

它包含應用程序中使用的所有本機方法。

7、執行引擎(Execution Engine)

它包含:

1)、虛擬處理器

2)、解釋器:讀取字節碼流然后執行指令。

3)、實時(JIT)編譯器:用于提高性能。JIT同時編譯具有類似功能的部分字節代碼,因此減少了編譯所需的時間。這里,術語“編譯器”指的是從Java虛擬機(JVM)的指令集到特定CPU的指令集的轉換器。

8、Java本地接口(Java Native Interface)

Java Native Interface(JNI)是一個框架,它提供了一個接口,用于與另一種語言(如C,C ++,Assembly等)編寫的另一個應用程序進行通信.Java使用JNI框架將輸出發送到控制臺或與OS庫交互。

以上是java虛擬機是什么的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰考县| 左权县| 青田县| 屏东县| 探索| 观塘区| 鄂温| 广汉市| 淮滨县| 宜丰县| 东平县| 二连浩特市| 米脂县| 兴文县| 兖州市| 万宁市| 阜城县| 井陉县| 宜春市| 图木舒克市| 资源县| 安达市| 高要市| 平利县| 泽州县| 尚志市| 林口县| 龙海市| 凤阳县| 北安市| 山东| 额敏县| 金沙县| 碌曲县| 佛学| 富源县| 正安县| 乐陵市| 寻乌县| 广德县| 伊吾县|