您好,登錄后才能下訂單哦!
1、類加載子系統:負責從文件系統或者網絡中加載Class信息,加載的信息存放在一塊稱之為方法區的內存空間。
2、方法區:就是存放類信息、常量信息、常量池信息、包括字符串字面量和數字常量等。方法區是輔助堆棧的塊永久區,解決堆棧信息的產生,是先決條件。
3、Java堆:再java虛擬機啟動的時候建立Java堆,它是java程序最主要的內存工作區域,幾乎所有的對象實例都存放到Java堆中,堆空間是所有線程共享的。堆解決的是數據存儲問題,即數據怎么放、放在哪兒。
4、直接內存:Java的NIO庫允許Java程序使用直接內存,從而提高性能,通常直接內存速度會優于Java堆。讀寫頻繁的場合可能會考慮使用。
5、每個虛擬機線程都有一個私有的棧,一個線程的Java棧在線程創建的時候被創建,Java棧中保存著局部變量、方法參數、同時Java的方法調用、返回值等。棧解決程序的運行問題,即程序如何執行,或者說如何處理數據。
6、本地方法棧:和Java棧非常類似,最大不同為本地方法棧用于本地方法調用,Java虛擬機允許Java直接調用本地方法。
7、垃圾收集系統:是Java的核心,也是必不可少的,Java有一套自己進行垃圾清理的機制,開發人員無需手工清理。
8、PC寄存器:每個線程私有的空間,Java虛擬機會為每個線程創建PC寄存器,在任意時刻,一個Java線程總是在執行一個方法,這個方法被稱為當前方法,如果當前方法不是本地方法,PC寄存器就會執行當前正在被執行的指令,如果是本地方法,則PC寄存器值為undefined,寄存器存放如當前執行環境指針、程序計數器、操作棧指針、計算的變量指針等信息。
9、虛擬機最核心的組件就是執行引擎了,它負責執行虛擬機的字節碼,一般用戶先進行編譯成機器碼后執行。
以上這篇Java 虛擬機(JVM)之基本概念詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。