Java内存溢出问题:堆栈溢出示例
在Java中,内存溢出主要分为两种情况:堆栈溢出(StackOverflowError)和直接内存溢出(OutOfMemoryError)。
下面是一个简单的堆栈溢出例子:
public class StackOverflowExample {
public static void main(String[] args) {
// 创建一个无限递归方法
recursiveMethod(10000); // 这里递归深度过深
}
// 无限递归方法,示例中深度过深导致溢出
public static void recursiveMethod(int depth) {
if (depth > 0) {
recursiveMethod(depth - 1);
} else {
System.out.println("Stack Overflow at depth " + depth);
}
}
}
当你运行这个程序时,由于递归深度设置过大(这里设置为10000),导致Java虚拟机无法处理这样的情况,进而抛出StackOverflowError异常。
还没有评论,来说两句吧...