本文主要是介绍记一个java诺依框架最大的坑,导致内存溢出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
起因是部署在服务器的程序刚开始正常随着访问次数然后导致一直添加重复的集合数据导致内存暴涨在2.9G 随着时间上涨到4.9G。程序坚持到12个小时左右直接宕机崩溃。排查了两天都摸不出头脑就是内存飙升,CPU稳定看不出来后面用了arthas生成hprof文件下载到本地用JDK自带jvisualvm软件分析,发现有一个很熟悉对象实例创建超过几万都没有被回收。
这个对象是存放一些国家IP的但是数据只有几百条怎么会生成那么多实例呢?
回到代码上面看看这个对象干了啥,发现用了Redis存了这个ip数据,省略万字.......然后就发现这个方法是附加集合数据的。
Redis工具类 以下方法是“附加” “附加” “附加”不是覆盖,这个方法名取的有歧义
一个同事用的这个方法在线上爆的雷,1个月前的功能,直到redis抛错误了才发现。
这篇关于记一个java诺依框架最大的坑,导致内存溢出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!