java.lang.OutOfMemoryError总结(待续。。。)

总结目的

  1. 通过代码验证java虚拟机运行时区域存储的内容;
  2. 工作中如果遇到内存溢出问题,能够根据反馈的异常信息快速判断哪个内存区域发生溢出

Java堆内存溢出

报错信息:java.lang.OutOfMemoryError:Java heap space

原因可能是内存泄漏或者创建太多对象导致内存不足

Java虚拟机栈和本地方法区栈

报错信息:

1.stackOverFlowError(栈的深度大于最大深度)

原因可能是方法递归调用过多

2.OutOfMemeoryError(扩展栈时无法申请到足够的内存)

原因可能是系统内存不足,无法创建新的线程

 Metaspace内存溢出

报错信息:java.lang.OutOfMemoryError: Metaspace

原因可能是系统的代码非常多或引用的第三方包非常多或者通过动态代码生成类加载等方法

直接内存

报错信息:java.lang.OutOfMemoryError

解决办法

 

猜你喜欢

转载自blog.csdn.net/a1_HelloWord/article/details/104450807