解决java.lang.OutOfMemoryError异常思路

java.lang.OutOfMemoryError异常有两种原因:

1.内存溢出(Memory Overflow)

2.内存泄露(Memory Leak)

出现Java堆内存溢出时,异常堆栈信息“java.lang.OutOfMemoryError”会跟着进一步提示“Java heap space”,需要加大设置虚拟机堆参数-Xmx与-Xms,或检查是否存在某些对象生命周期过长,持有状态时间过长的情况,尝试减少程序运行期的内存消耗。如果是内存泄露,可进一步通过工具查看泄露对象到GC Roots的引用链。

-XX:+HeapDumpOnOutOfMemoryError 可以让虚拟机在出现内存溢出时Dump出内存快照

-XX:+PrintGCDetails 打印出GC的详细信息

你可能感兴趣的:(解决java.lang.OutOfMemoryError异常思路)