要解决这个异常,一般的就是先用内存影像分析工具一般使用eclipse Memery Analyzer dump出来的堆转储快照进行分析.
确认是内存泄露还是溢出.
如果是内存泄露,进一步查看泄露对象到GC Roots的引用链.
就能找到泄露对象通过怎样的路径 与GC Roots关联并导致垃圾收集器无法进行收集.
找到泄露对象就能找到GCROOTs信息,就能定位出泄露代码的位置.
不存在泄露就需要调整内存的设置.
栈深度超过了虚拟机的栈深度,将抛出stackOverFlow
使用 -Xss进行设置. -Xss=128k