OutOfMemoryError是什么错误?

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

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("创建新线程~"));
        }
    }
}
  • 代码执行结果,见下图:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值