一次偶然的Java内存溢出引发的思考

据说一次SQL查询返回太多数据,会引起服务器内存溢出。

不过,我现在碰到的情况是,调用一个Postgresql 存储过程,很复杂,那么在其中有很多raise notice这样的调试语句,如果碰巧有个死循环,那么,这些个raise notice的message会不停地发送给服务器,最终也会引发服务器内存溢出。

(具体的表现是,该操作始终不返回,其他操作越来越慢,最终服务器抛出OutOfMemory Exception)

如果要定位具体的代码,可以通过jdk自带的工具如jps、jmap、jvisualvm来查看。

原文地址:https://www.cnblogs.com/wenwujuncheng/p/3960195.html