(1)java虛擬機器概念和結構圖

來源:互聯網
上載者:User

標籤:

java虛擬機器解構圖一

java虛擬機器解構圖二

java虛擬機器結構圖三

【1】類載入系統
        --->負責從檔案系統或網路中載入class資訊,存放至方法區的記憶體空間
【2】java堆
        --->虛擬機器啟動時建立。java主要記憶體工作區域。
        --->存放:java對象執行個體。
        --->所有線程共用
【3】方法區
        --->存放:class資訊,運行時常量池資訊,字串字面量,數字常量(class檔案中常量池部分的記憶體映射)
【4】直接記憶體
        --->java的NIO庫允許java程式使用直接記憶體。
        --->在java堆外的,直接向系統申請的記憶體空間。
        --->訪問直接記憶體的速度優於java堆。出於效能考慮,讀寫頻繁的場合可能會考慮使用直接記憶體。由於直接記憶體在堆外,因此它的大小不會直接受限於Xmx指定的最大堆大小,但是系統記憶體是有限的。java堆和直接記憶體的總和依然受限於作業系統給出的最大記憶體
【5】記憶體回收系統
       --->java虛擬機器重要組成部分。
       --->對方法區,java堆,直接記憶體進行回收垃圾空間。
【6】java棧
        --->每一個java虛擬機器線程都有一個私人的java棧。
        --->一個線程的java棧線上程建立的時候被建立。
        --->java棧中儲存著幀資訊(局部變數,方法參數)和方法調用和返回密切相關
 【7】本地方法棧
        --->和java棧非常相似。
        --->不同在於java棧用於java的方法調用。本地方法棧用於本地方法的調用。
 【8】PC寄存器
        --->也是每一個線程私人的空間。java虛擬機器為每一個java線程建立pc寄存器。
        --->一個java線程總是在執行一個方法,這個正在被執行的方法稱為當前方法。如果當前方法不是本地方法,pc寄存器就會執行當前正在被執行的指令。如果當前方法是本地方法,那麼pc寄存器的值就是undefined
 【9】執行引擎
        --->java虛擬機器的最核心組件之一,他負責執行虛擬機器的位元組碼。

 

(1)java虛擬機器概念和結構圖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.