内存溢出
1.堆栈溢出
//错误提示:
java.lang.OutOfMemoryErrot:......java heap space...
//这种情况是当系统处于高频的GC状态,而且回收的效果依然不佳的情况,就会开始报这个错误,这种情况一般是产生了很多不可以被释放的对象,有可能是引用使用不当导致,或申请大对象导致,但是java head space的内存溢出有可能提前不会报这个错误,也就是可能内存就直接不够导致,而不是高频GC。
java.lang.OutOfMemoryError:GC over head limit exceeded
2.内存溢出,PermGen的溢出
使用了大量的常量、或通过intern注入常量、或者通过动态代码加载等方法,导致常量池的膨胀
//错误提示:
java.lang.OutOfMemoryError:PermGen space
3.内存溢出:在使用ByteBuffer中的allocateDirect()的时候会用到,
//错误提示:
java.lang.OutOfMemoryError:Direct buffer memory
4.内存溢出:-Xss太小了
//溢出关键字
java.lang.StackOverflowError
5.内存溢出:内存不足或heap的空间设置的太大
java.lang.OutOfMemoryError:unable to vreate new native thread
6.内存溢出:地址空间不够
//错误提示:
java.lang.OutOfMemoryError:request {} byte for {} out of swap