栈分成两种
栈溢出原因主要是太多东西入栈,每次调用方法都是一次入栈,每次调用生成的栈帧入栈后占用一些空间。当出现无限递归时会溢出,当栈深度过深时也会出现溢出。
OutOffMemeryError有很多种出现情况,OOM一般分为:堆区,方法区,常量池。
堆区:
一直创建且不让回收:一直往一个集合里面塞新建的对象。
创建大规模数组
方法区:
常量池: