JVM——新生代与老年代

时间:2022-07-04 12:36:46

首先看在JVM的堆中,按代的划分:

JVM——新生代与老年代

Young:主要是用来存放新生的对象。

Old:主要存放应用程序中生命周期长的内存对象。

Permanent:是指内存的永久保存区域,主要存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域. 它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。

GC与Full GC的区别:

  GC(或Minor GC):收集生命周期短的区域(Young area)。

  Full GC (或Major GC):收集生命周期短的区域(Young area)和生命周期比较长的区域(Old area)对整个堆进行垃圾收集。