常见的几种OOM异常

java.lang.OutOfMemoryError: Java heap space

原因:java堆内存空间不足时的异常

java.lang.OutOfMemoryError: PermGen space

 原因:jdk7及前的版本,永久代空间分配不足时的异常

java.lang.OutOfMemoryError: Metaspace

 原因:jdk8版本后,元空间替换了以前的永久代,当元空间分配内存不足时的异常

java.lang.OutOfMemoryError: GC overhead limit exceeded

 原因:java堆设置的值过小或者程序运行期间,经过连续5次垃圾收集后可用内存都少于2%,则报此异常

java.lang.OutOfMemoryError: unable to create new native thread

 原因:内存不足以创建新的线程或者创建线程数超过了操作系统的限制

java.lang.OutOfMemoryError: Direct buffer memory

原因:使用了NIO,分配直接内存空间不足时导致的异常

java.lang.OutOfMemoryError: Requested array size exceeds VM limit

原因:数组过长导致的内存溢出

原文地址:https://www.cnblogs.com/zyf-yxm/p/13661000.html