java堆栈溢出:
java堆用于存储对象实例,只要不断地创建对象,并且保证GCRoots 到对象之间有可达的路径来避免垃圾回收机制清除这些对象,那么在对象数量达到最大堆容量限制后就会产生内存溢出异常。
虚拟机和本地方法栈溢出:
由于在HotSpot虚拟机中并不区分去你机栈和本地方法栈,因此,对于HotSpot来说,虽然-Xosscanshu (设置本地方法栈大小)存在,但是实际上是无效的,栈容量只由-xoss参数设定,关于虚拟机栈和本地方法栈,在java虚拟机规范中描述了两种异常:
1》如果线程的请求的栈深度大于虚拟机所允许的最大深度,则抛出StackOberflowError异常
2》如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常
方法区和运行时常量池溢出:
本机直接内存溢出:
后续补充