日志打印高并发场景case记录
case介绍
线上服务OOM,通过Java自带的jvisualvm打开dump文件查看内存对象分析,500个一组,发现前面几组的栈信息全部指向代码中的同一行
LOGGER.info("业务xxxx, xName: {}, xText: {}", xName, xText);
jvisualvm截图如下
case分析(直接扒源码)
跳过N步后
结论归纳
可以看到上图最终是通过构造event参数体填充传入的StringBuffer,对比上面jvisualvm截图可以理解原因如下
原创
2021-11-19 21:50:55 ·
500 阅读 ·
0 评论