通过内存映像工具(例如Eclipse Memory Analyzer)对dump出来的堆转储快照进行分析,重点是确认内存中的对象是否必要,也要弄清是出现了内存泄漏还是内存溢出。 如果是内存泄漏,可进一步通过工具查看泄露对象到GC ROOT的引用链信息,定位出泄露代码的位置。 如果不存在泄漏,就要调整虚拟机的堆参数(-Xmx与-Xms),然后从代码上检查是否存在某些对象生命周期过长,持有状态时间过长的情况。 ---《深入理解JVM:JVM一般特性和不错实践》
点赞 1

相关推荐

牛客网
牛客企业服务