heap 堆
原因:
一次性从数据库获取到大量数据放到了内存中,默认内存大小并放不下导致溢出;
内存已经达到了当前规定的最大值,无法申请新的内存导致报错,旧的对象(认为)无法回收;
等等
解决方式
最直接的方式是修改JVM 内存大小
JAVA_OPTS="-server -Xms1024m -Xmx1024m
Xms 为初始值,Xmx 为最大值,二者最好保持一致 这样可以保证稳定性
做代码优化,看是否存在大量数据获取后未使用的情况,是否存在很深的递归调用,大量数据执行操作时是否可以分开做小批量持续操作,数据可以转为流式数据。