java线上内存溢出问题解决-visualvm工具

 1.线上遇到的内存溢出报错日志

截图如下,可以看到其中还有一个包名:ma.glasnost.orika.generated

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

 

 3.可能眼力好的同学,已经看出了问题可能的地方。给你们一个屏幕思考。

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

谜底:问题就是在静态方法中直接new了一个对象,解决方法就是单例模式。问题代码截图:

 

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

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

原文地址:https://www.cnblogs.com/lixiaoran/p/12463622.html