以下是Java中可能出现的OOM(Out Of Memory)异常包括:
- java.lang.OutOfMemoryError: Java heap space:堆内存耗尽异常,当JVM试图在堆内存中存储更多的数据时,如果没有足够的可用内存,就会抛出该异常。
- java.lang.OutOfMemoryError: GC overhead limit exceeded:GC开销限制超出异常,当JVM在进行垃圾回收时,如果回收时间太长,导致应用程序耗尽内存,就会抛出该异常。
- java.lang.OutOfMemoryError: Direct buffer memory:直接内存耗尽异常,当应用程序试图在直接内存中存储更多的数据时,如果没有足够的可用内存,就会抛出该异常。
- java.lang.OutOfMemoryError: unable to create new native thread:无法创建新的本地线程异常,当应用程序试图创建新的本地线程时,如果没有足够的系统资源,就会抛出该异常。
- java.lang.OutOfMemoryError: Metaspace:元空间耗尽异常,当JVM在元空间中分配更多的类和方法信息时,如果没有足够的可用内存,就会抛出该异常。
- java.lang.StackOverflowError:线程栈空间耗尽异常,当某个线程的线程栈空间被耗尽,没有足够资源分配给新创建的栈帧时,就会抛出该异常。
- java.lang.NoClassDefFoundError:未找到定义的类异常,当JVM尝试加载某个类时,如果找不到该类的定义,就会抛出该异常。
- java.lang.ClassNotFoundException:类未找到异常,当JVM尝试加载某个类时,如果找不到该类的定义,就会抛出该异常。