造成OOM的原因 1一次性申请太多对象。如:从数据库获取大量数据。 解决方法:更改申请对象的数量。如:做个分页。 2内存资源使用完未释放。如:太多线程建立数据库连接而未释放。 解决方法:使用线程池。 3本身资源不够,无法支持日常的使用。 jmap -heap 进程名:查看特定java进程的堆内存信息。 如何快速定位OOM 1系统已经挂掉了:提前设置如下参数,获取dump文件,再使用jvisualVM定位。 2系统还没有OOM: 快要OOM或者频繁FULL GC时,使用如下命令到处dump文件