1.线上遇到的内存溢出报错日志
截图如下,可以看到其中还有一个包名:ma.glasnost.orika.generated

2.在代码中搜索该包,发现该包的作用是对象拷贝

3.可能眼力好的同学,已经看出了问题可能的地方。给你们一个屏幕思考。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
谜底:问题就是在静态方法中直接new了一个对象,解决方法就是单例模式。问题代码截图:

5.在jmeter压测中,本地启动,使用visualVM可以看到出问题的现象,metaspace内存占用持续增高

6.改为单例模式后,jmeter压测,可以看到问题解决

本文通过分析线上内存溢出错误日志,定位到由频繁实例化对象导致的问题。详细介绍了如何从代码中搜索相关包,发现问题所在,并通过采用单例模式成功解决了内存持续增长的问题。
1080

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



