Java 内存泄漏

阅读更多

       话不多说上一张图

       
Java 内存泄漏_第1张图片
 

      

       这种图上的内存,每隔差不多五分钟的时间,内存就被跑满,然后一次fullgc,内存瞬间下来,初发现这个问题的时候,肯定是内存泄漏了,开始找有没有什么死循环之类的,用jprofiler找到对象最大的对象,然后找到new出来的对象地方,发现没有出现什么死循环之类的。困惑了好久,最好仔细分析一下,如果真是死循环,那么就算fullgc的话,gc也不会瞬间就把对象回收完全,那么肯定是年轻代中,对象没有被回收,但是这些对象很显眼存活的时间不久,但是长过年轻代被回收的时间,那就是肯定是瞬间创建了太多对象,但是大多没有用到,但是没有被释放,所以就顺着这个思路,一路找下来,发现就是玩家寻路和机器人寻路的时间不一样,但是时间比较短的对象和保存比较的对象存活期是一样的,而且数量巨多,经过修改代码之后,内存目前看来是正常了。

  • Java 内存泄漏_第2张图片
  • 大小: 142.6 KB
  • 查看图片附件

你可能感兴趣的:(Java,内存)