PermGen 空間和 MetaSpace 的區別。
PermGen 是用於儲存類資料的記憶體區域,例如靜態變數、位元組碼等。預設情況下,為 PermGen 分配 64 Mb。可以使用 -XXMaxPermSize 進行調整。
在 Java 8 中,PermGen 方法區被 MetaSpace 替換。他們將 permGem 移動到原生作業系統中的獨立記憶體中,這稱為 MetaSpace。它可以預設自動增加其大小。在 MetaSpace 中,類可以在 JVM 的生命週期內載入和解除安裝。
序號 | 關鍵點 | PermGen | MetaSpace |
---|---|---|---|
1 | 基本 | PermGen 是用於儲存類資料的記憶體區域,例如靜態變數、位元組碼等 | 在 Java 8 中,PermGen 方法區被 MetaSpace 替換 |
2 | 預設記憶體分配 | 預設情況下,為 PermGen 分配 64 Mb | 它可以預設自動增加其大小 |
3 | 調整記憶體標誌 | 可以使用 -XXMaxPermSize 進行調整。 | 我們可以使用 -XX:MaxMetaspaceSize 限制記憶體的上限。 |
4 | 記憶體區域 | 它是一個特殊的堆空間。 | 從 Java 8 開始,它現在是原生作業系統中的獨立記憶體區域 |
廣告