
JVM将整个堆分为:Young区,Old区,Perm区,分别存放不同年龄的对象。
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触发的。
参考书籍《深入分析Java Web技术内幕》
转载于:https://blog.51cto.com/goodfuture/1861837
817

被折叠的 条评论
为什么被折叠?



