常见的OOM异常
- Java.lang.StackOverFlowError
- 虚拟机栈溢出
- java.lang.OutOfMemoryError: java heap space
- 堆区 内存溢出
- java.lang.OutOfMemoryError: GC overhead limit exceeded
- 大量资源都用于GC回收了,每次GC后也清理不了多少空间,反复如此,就抛出此错误
- java.lang.OutOfMemoryError: Direct buffer memory
- 写NIO程序经常使用ByteBuffer来读取或者写入数据,这是一种基于通道-channel 与 缓冲区-buffer的I/O方式
- 他可以使用Native函数库直接分配堆外内存,然后通过一个存储在java堆里面的DirectByteBuffer对象作为这块内存的引用进行操作
- 这样能在一些场景中显著提高性能,因为避免了java堆和Native堆中来回的复制数据
- 当堆外内存(本地内存)不够用时,就会抛出此异常
- java.lang.OutOfMemoryError: unable to create new native thread
- 应用创建了太多线程了,超过系统承载
- 你的服务器不允许创建过多的线程
- java.lang.OutOfMemoryError: Metaspace
- 元空间内存溢出
- 元空间使用的是本地内存,类信息创建太多
关于http协议