可以將jvm粗略分為以下部分:
是在jvm啟動的時候分配的
-xmx:設定堆的最大大小.
-xms:設定初始的對大小.
預設情況下,堆的最大大小是64mb,堆是否是固定大小,可擴充套件都是有gc策略決定的.
可以通過:-xx:maxpermsize
設定堆的大小,如:-xx:maxpermsize=128m.
可以在"memory'下檢視heap和non-heap的資訊:
class list同時顯示live and dead objects,可以通過檢視gc發生時物件的數量變化來分析情況.
ref:
jvm記憶體結構
方法區用於存放類 class檔案 的相關資訊,如類名,訪問修飾符 常量池 字段描述 方法描述等資訊。方法區的一部分,存放編譯時期生成的各種字面量和符號引用,例如 字串!每個方法被執行的時候都會同時建立乙個棧幀用於存放方法內部的區域性變數等資訊。每乙個方法被呼叫直至執行完成的過程,就對應著乙個棧幀在虛...
JVM記憶體結構
所有的j a開發人員可能會遇到這樣的困惑?我該為堆記憶體設定多大空間呢?outofmemoryerror的異常到底涉及到執行時資料的哪塊區域?該怎麼解決呢?其實如果你經常解決伺服器效能問題,那麼這些問題就會變的非常常見,了解 jvm記憶體也是為了伺服器出現效能問題的時候可以快速的了解那塊的記憶體區域...
JVM記憶體結構
以下所寫jvm內容都是基於hotspot。定義 j a virtual machine j a程式的執行環境 j a 二進位制位元組碼的執行環境 好處 比較 jvm指令 直譯器 機器碼 cpu 1 程式計數器 cpu中的暫存器實現 定義 program counter register 程式計數器 ...