一、抛出异常 堆溢出:java.lang.OutOfMemoryError(OOM)栈溢出:java.lang.StackOverflowError 二、原因 堆溢出:堆中对象大小大于堆的最大大小(往往可能时内存泄漏导致)栈溢出: 函数体内建立很大的数组产生了死循环,循环调用递归次数过多,需要保存大量的局部数据,知道递归结束才释放。