JAVA 虛擬機器(JVM)之基本概念

來源:互聯網
上載者:User

標籤:fine   本地   基本   執行引擎   undefined   常量池   java線程   開發   java   

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)之基本概念

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.