标签:也会 io流 出现 集合类 关闭 溢出 使用 清理 ice
年轻代:当对象刚刚创建的时候我们的对象是存放在even内存空间的,当这儿存满了,CG就会调用Minor GC来清理无用的对象,并将剩下的对象放入到servicer1区里面,当第二次even满的时候,我们就在此调用MinorGC,清理even区,和有对象的servicer区并将它们有用的对象放在service(n+1)区,当service15区中也还有幸存的对象的时候我们就将这些对象放在old区,它们就是老年代了。
老年代:当old区也存放对象占用的空间达到一定比例的时候也会调用MinorGC,清理无用的对象;当old区域存满了的话,它就会调用fullGC,他就会整个清理(代价很高)。
开发中容易出现内存溢出常见的现象:
1、IO流未关闭
2、创建了大量无用的对象。
3、监听器使用不当
4、静态集合类使用不当
标签:也会 io流 出现 集合类 关闭 溢出 使用 清理 ice
原文地址:https://www.cnblogs.com/ztcen/p/9749688.html