因此我们可以创建一个无限递归的递归调用, 当递归深度过大时, 就会耗尽栈空间, 进而导致了 StackOverflowError 异常....方法区作用是存放 Class 的相关信息, 例如类名, 类访问修饰符, 字段描述, 方法描述等....因此如果方法区过小, 而加载的类过多, 就会造成方法区的内存溢出....在 方法区的内存溢出 内存溢出一节中, 我们提到, JDK8 没有了永久代的概念, 因此那两个例子在 JDK8 下没有实现预期的效果....那么在 JDK8 下, 是否有类似方法区内存溢出之类的错误呢? 当然有的.