Java基礎學習總結(119)——Java8 JVM與Java7 JVM比較
jdk 7的jvm 記憶體分配,請看下圖:
一個物件被建立以後首先被放到新生代中的Eden內
存中,如果存活期超兩個Survivor之後就會被轉移到老年代(Old Generation)中。
永久記憶體中存放著物件的方法、變數等後設資料資訊。通過如果永久記憶體不夠,我們就會得到如下錯誤:
java.lang.OutOfMemoryError: PermGen
JDK8 HotSpot JVM 將移除永久區,使用本地記憶體來儲存類後設資料資訊並稱之為:元空間(Metaspace);
永久代被移除後它的JVM引數:PermSize 和 MaxPermSize 會被忽略並給出警告(如果在啟用時設定了這兩個引數)。
Metaspace 容量
預設情況下,類後設資料只受可用的本地記憶體限制(容量取決於是32位或是64位作業系統的可用虛擬記憶體大小)。
新引數(MaxMetaspaceSize)用於限制本地記憶體分配給類後設資料的大小。如果沒有指定這個引數,元空間會在執行時根據需要動態調整。
Metaspace 垃圾回收
對於僵死的類及類載入器的垃圾回收將在後設資料使用達到“MaxMetaspaceSize”引數的設定值時進行。
適時地監控和調整元空間對於減小垃圾回收頻率和減少延時是很有必要的。持續的元空間垃圾回收說明,可能存在類、類載入器導致的記憶體洩漏或是大小設定不合適。
在JDK7以及其前期的JDK版本中,JVM空間可以分成三個大區,新生代、老年代、永久代。其中新生代可以劃分為三個區,Eden區,兩個倖存區。
一個物件被建立以後首先被放到新生代中的Eden內
存中,如果存活期超兩個Survivor之後就會被轉移到老年代(Old Generation)中。
永久記憶體中存放著物件的方法、變數等後設資料資訊。通過如果永久記憶體不夠,我們就會得到如下錯誤:
java.lang.OutOfMemoryError: PermGen
JDK8 HotSpot JVM 將移除永久區,使用本地記憶體來儲存類後設資料資訊並稱之為:元空間(Metaspace);
永久代被移除後它的JVM引數:PermSize 和 MaxPermSize 會被忽略並給出警告(如果在啟用時設定了這兩個引數)。
Metaspace 容量
預設情況下,類後設資料只受可用的本地記憶體限制(容量取決於是32位或是64位作業系統的可用虛擬記憶體大小)。
新引數(MaxMetaspaceSize)用於限制本地記憶體分配給類後設資料的大小。如果沒有指定這個引數,元空間會在執行時根據需要動態調整。
Metaspace 垃圾回收
對於僵死的類及類載入器的垃圾回收將在後設資料使用達到“MaxMetaspaceSize”引數的設定值時進行。
適時地監控和調整元空間對於減小垃圾回收頻率和減少延時是很有必要的。持續的元空間垃圾回收說明,可能存在類、類載入器導致的記憶體洩漏或是大小設定不合適。
相關文章
- Java基礎學習總結(121)——Java JVM執行流程JavaJVM
- JVM基礎學習JVM
- JVM學習總結JVM
- JVM學習之JVM基礎知識JVM
- JVM 基礎面試題總結JVM面試題
- Java基礎學習總結(120)——JVM 引數使用詳細說明JavaJVM
- JAVA基礎學習-數字與字串學習總結Java字串
- jvm總結JVM
- 《java學習二》jvm效能優化-----認識jvmJavaJVM優化
- Java基礎:Java虛擬機器(JVM)Java虛擬機JVM
- JVM 基礎概念JVM
- jvm、gc、作業系統等基礎知識總結JVMGC作業系統
- JVM基礎學習(二):記憶體分配策略與垃圾收集技術JVM記憶體
- Java基礎知識學習筆記總結Java筆記
- JVM學習筆記——初識JVMJVM筆記
- 【Java】JVM複習JavaJVM
- JVM系列之一 JVM的基礎概念與記憶體區域JVM記憶體
- 【JVM進階之路】十:JVM調優總結JVM
- 【JVM之記憶體與垃圾回收篇】JVM與Java體系結構JVM記憶體Java
- 《Java工程師成神之路-基礎篇》JVM——常用Java命令(已完結)Java工程師JVM
- JVM基礎:JVM記憶體組成及分配JVM記憶體
- Java 基礎學習總結(一)抽象類和介面Java抽象
- 談談JVM(基礎模型)JVM模型
- 學習canvas基礎的總結Canvas
- shell基礎學習總結(一)
- shell基礎學習總結(二)
- JVM學習(一)——記憶體結構JVM記憶體
- JVM學習--Class類檔案結構JVM
- Oracle學習總結--基礎部分(儲存與索引)Oracle索引
- JVM上容錯庫的初步比較 - frankelJVM
- java面試彙總:JVM篇!Java面試JVM
- JVM學習筆記JVM筆記
- Java基礎專題 Jvm記憶體劃分JavaJVM記憶體
- Java基礎總結Java
- Kotlin 基礎學習總結(一)Kotlin
- JavaScript學習總結(一)基礎部分JavaScript
- JVM虛擬機器基礎JVM虛擬機
- 《Java工程師成神之路-基礎篇》JVM——Java記憶體模型(已完結)Java工程師JVM記憶體模型