JVM的GC中物件的age以及JVM記憶體的分配策略

2021-08-04 03:53:41 字數 440 閱讀 7410

young generation中的gc叫minor gc,eden中的物件拷貝到s。

old generation中的gc叫full gc。

age,官方文件預設為15,age也相當於計數器,每次gc,age+1,age代表gc的次數。

在gc時,s中的物件的age一樣的這批資料大於s空間1/2的話,此時age大於或者等於這批物件的物件,就會直接進入old generation,而不用達到15。

物件分配時:

1.首先分配到eden中,eden空間不足,觸發minor gc,若還不夠記憶體,則物件直接分配到old generation中。

2.old generation,觸發full gc,記憶體還是不夠則發生oom。

3.大物件直接分配到old geneartion。

4.yong generation中一般分配小的、生命周期短的物件。

JVM的GC機制及JVM的調優方法

記憶體管理和垃圾 是jvm非常關鍵的點,對j a效能的剖析而言,了解記憶體管理和垃圾 的基本策略非常重要。1.在程式執行過程當中,會建立大量的物件,這些物件,大部分是短週期的物件,小部分是長週期的物件,對於短週期的物件,需要頻繁地進行垃圾 以保證無用對 象盡早被釋放掉,對於長週期物件,則不需要頻率垃...

說說JVM的GC功能之一GC演算法的選擇

如果你的應用可以忍受full gc帶來的停頓,throught收集器 即並行gc 能獲得最高的效能。同是他使用cpu和堆的大小都比其他的收集器少 當然不包括serial收集器,它的使用場景太有限 如果無法忍受full gc帶來的停頓,如果可用堆較小,可以選擇cms或g1,如果可用堆較大,建議使用g1...

關於jvm的GC調優的做法

如果不能忍受full gc,預設設定也達不到你的期望值,並且應用停頓時間和你的目標不一致,那麼你需要對gc調優。調優的基本想法如下 1,能在新生eden區代 的資源,盡量不讓資源進入到survivor區。2,能在survivor區 的資源,盡量不讓資源進入old區。其實,我們的最終目的是盡量不讓太多...