1、StackOverflowError(深度方法调用异常)
2、java heap space(对象太多,堆溢出了)
3、GC overhead limit exceeded(GC回收时间过长,98%时间用来做GC回收不到2%的堆内存,所以抛出这样的异常)
4、Direct buffer memory(在使用的NIO经常使用byteBuffer读取或者写入数据,是基于通道和缓存区的IO方式,可以使用native直接分配堆外内存,然后储存到java堆里面的directByBuffer对象作为这块内存的引用操作,这样可以提高性能,避免java堆与native来回复制)
第一种方法:一般直接分配JVM堆内存,属于GC范围,但是需要拷贝速度较慢
第二种:就是直接分配OS本地内存,不属于GC范围,不需要内存拷贝所以较快
但是如果一直用第二种(本地内存,则GC一直不回收就会发生堆内存充足,本地内存已经使用完了)
5、unable to create new native thread(
5.1创建的线程太多了)
5.2、服务器不容许创建那么多线程
解决:降低创建线程数量,通过linux修改默认限制
6、metaspace(元空间溢出)元空间是本地内存不在虚拟机



