垃圾回收(年轻带老年代)

Posted ztcen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了垃圾回收(年轻带老年代)相关的知识,希望对你有一定的参考价值。

         年轻代:当对象刚刚创建的时候我们的对象是存放在even内存空间的,当这儿存满了,CG就会调用Minor GC来清理无用的对象,并将剩下的对象放入到servicer1区里面,当第二次even满的时候,我们就在此调用MinorGC,清理even区,和有对象的servicer区并将它们有用的对象放在service(n+1)区,当service15区中也还有幸存的对象的时候我们就将这些对象放在old区,它们就是老年代了。

        老年代:当old区也存放对象占用的空间达到一定比例的时候也会调用MinorGC,清理无用的对象;当old区域存满了的话,它就会调用fullGC,他就会整个清理(代价很高)。

        开发中容易出现内存溢出常见的现象:

               1、IO流未关闭

               2、创建了大量无用的对象。

               3、监听器使用不当

              4、静态集合类使用不当

以上是关于垃圾回收(年轻带老年代)的主要内容,如果未能解决你的问题,请参考以下文章

新生代和老年代垃圾回收的细节

垃圾回收-G1算法

CMS垃圾回收器

JVM垃圾回收器总结——G1垃圾收集器

JVM垃圾回收器总结——G1垃圾收集器

案例实战:每日上亿请求量的电商系统,JVM年轻代垃圾回收参数如何优化?