StackOverflowError (栈溢出):
- 发生原因:如果程序使用的栈深度超过虚拟机分配给线程的栈大小时,抛出该错误。
OutOfMemoryError (内存溢出):
- 发生原因:如果程序在对应栈中无法申请到足够的内存空间,则抛出该错误。
栈溢出举例:
class A{
public static void main(String[]args){
main(null);
}
}
内存溢出举例:
class A{
public static void main(String[]args){
int []a =new int[999999999];
}
}