JVM GC的内存结构:Young Generation(Eden,from,to)、Old Generation、Permanent Generation

时间:2021-01-09 04:49:04

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