JVM堆内存垃圾回收算法

    

       JVM将整个堆分为:Young区,Old区,Perm区,分别存放不一样年龄的对象。ide

      Young区又分为Eden区和两个Survivor区。全部新建对象都存于Eden区,当Eden区满后会触发minor GC将Eden区仍然存活的对象复制到其中一个Survivor,另外一个Survivor中存活的对象也会复制到这个Survivor中,以保证始终有一个Survivor区是空的。对象

      Old区存放的是Survivor满后触发minor GC后仍然存货的对象。Old区满后,将触发Full GC, 回收整个堆内存。内存

      Perm区主要存放Class对象,若是一个类被频繁的加载,也可能会致使Perm区满, Perm区的垃圾回收也是由Full GC触发的。
it


参考书籍《深刻分析Java Web技术内幕》
class