1.OutOfMemoryError是什么错误?
OutOfMemoryError表示堆内存溢出- 也即我们启动Java程序时,通过
-Xmx参数指定的最大堆内存都用光了
2.请编写一个Java程序使其发生OutOfMemoryError错误
- 在
while(true)循环体当中,不断创建新线程,最终将产生OutOfMemoryError错误,示例代码如下:
public class OutOfMemoryErrorDemo {
public static void main(String[] args) {
while (true) {
ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(() -> System.out.println("创建新线程~"));
}
}
}
- 代码执行结果,见下图:

本文详细解析了Java中OutOfMemoryError错误的概念,这是一种当应用程序消耗完所有可用堆内存时抛出的异常。通过示例代码展示如何通过无限创建新线程导致此错误的发生。

336

被折叠的 条评论
为什么被折叠?



