StackOverflowError
栈溢出。若Java虚拟机栈的内存大小不允许动态扩展,那么当线程请求栈的深度超过当前Java虚拟机栈的最大深度的时候,就会出现该异常。
代码举例
main函数调main函数。
//Main.java
public class Main {
public static void main(String[] args) {
main(args);
}
}
//Exception in thread "main" java.lang.StackOverflowError
OutOfMemoryError
堆溢出。
代码举例
创建一个庞大的数组。
//Main.java
public class Main {
public static void main(String[] args) {
int[] n = new int[1000000000];
}
}
//Exception in thread "main" java.lang.OutOfMemoryError: Java heap space