1. 程式人生 > >JVM GC的記憶體結構:Young Generation(Eden,from,to)、Old Generation、Permanent Generation

JVM GC的記憶體結構:Young Generation(Eden,from,to)、Old Generation、Permanent Generation

Yong Generation: Object和基本活躍的區域

Eden:小Object出生的地方(大的Object可能直接進Old Generation)

From(S1):

To(S2):Eden中的物件被GC,先放在To中。To快滿時,From和To交換。

(From 和 To大小一樣,是Eden和Old Generation的緩衝地帶)

Old Generation:經過幾次GC後依然存在,Old Generation滿,發生Full GC。

Yong/Old Generation是屬於Heap Area。

Permanent Generation: Method Area,裡面有Class,Static等。

頻繁發生GC的原因:

1.人為呼叫

System.gc() and Runtime.gc()方法

2.框架內部呼叫GC方法

Heap記憶體太小,頻繁GC

構建物件和釋放物件頻繁,則頻繁GC