1. 程式人生 > >JVM之java堆溢位

JVM之java堆溢位

1.java堆用於儲存物件,只要不斷的建立物件,並保證GC Roots到物件之間有可達路徑來避免垃圾回收機制清除這些物件,那麼在物件數量到達最大堆的容量限制後就會產生記憶體溢位的現象。

Java是自動管理堆疊記憶體的,因此程式設計師會比較被動,無法自行去設定堆疊大小。

堆的優勢是可以動態地分配記憶體大小,生存期也不必事先告訴編譯器,Java的垃圾收集器會自動收走這些不再使用的資料。

因此可以得知:

GC回收的是堆中的資料。

堆中存放的是建立的new 物件和陣列。