处理Java堆溢出的简单思路

处理Java堆溢出的简单思路

java堆溢出

Java堆内存的OOM异常是实际应用中常见的内存溢出异常情况。当出现Java堆内存溢出时,异常堆栈信息“Java.lang.OutOfMemoryError”会跟着进一步提示"Java heap spacc"。
要解决这个区域问题可以使用——内存映像分析工具(如Eclipsc Memory Analyzer )对Dump出来的堆储存快照进行分析。——重点是确认内存中的对象是否是必要的,也就是要先分清楚到底出现了是内存泄漏(Memory Leak)还是内存溢出(Memory Overflow)
如果是内存泄漏,可进一步通过工具查看泄漏对象到GC Roots的引用链。
如果不存在泄漏,那就应该检查虚拟机的堆参数(-Xmx与-Xms),与机器物理内存对比看是否可以调大,从代码上检查是否存在某些对象生命周期过长,持有状况时间过长,尝试减少程序运行周期的内存消耗。

以上就是处理Java堆内存问题的简单思路。

发布了30 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/wg22222222/article/details/83050204