求助>程序在查询sql的时候有个堆栈溢出>
16回复

程序在查询sql的时候有个堆栈溢出



求大佬给个排查思路和解决思路

713 阅读
请先登录,再评论

回复列表

该评论已被删除

谢谢各位大佬,找到问题了,过来还愿,https://blog.csdn.net/weixin_38708854/article/details/107080007 这篇博客的就是我的问题,还是外键和jpa搞的鬼

爆栈么,看一下爆栈那个异常堆栈应该很容易发现哪个栈重复了吧QAQ

不过,讲真不建议加大,你还是能调代码的话,尽量调整代码好些,如果你默认jvm没配置的话,1M其实够用了,这个要自己查了,不过既然可能是栈的深度调用导致的。你可以打印下具体线程的堆栈看看

回复 社群问题小管家:

火焰图和堆栈,上面的就是推荐的思路哈,可以验证下

回复
回复 大佬们的小马甲:

对呀,所以我向各位请教排查思路嘛

回复
回复 大佬们的小马甲:

或者自己输出下方法调用的火焰图,自己看下,估计你的函数调用深度的确很深

回复

逻辑循环的话尽量不要在sql上写,最好用程序聚合

回复 社群问题小管家:

那你加大一下你的栈空间,如果你确定你这是正常业务,无法修改的话,可以考虑加大

回复
回复 大佬们的小马甲:

但是数据量并不大呀,循环也不多的感觉,所以我就没思路了

回复
回复 大佬们的小马甲:

关键是在jpa上的,Jpa联表后,有个循环

回复

堆溢出还是栈溢出?你可以贴下异常更好些

回复 大佬们的小马甲:

栈溢出,有循环sql

回复

你看看这个sql查出多大数据量,如果确认哪个sql的话,看看代码是不是有循环查询,如果这个sql问题不大,看看前边的方法