直接实验验证
日志输入:
从日志可以看出在thead-0发生OOM之后,thread-1仍旧能够继续申请内存工作。使用jconsole监控发现,thread-0开始慢慢把heap压满,发生OOM之后神奇的事情发生了,heap基本上被清空了,通过查看jconsole看到的线程信息,发现没有thead-0线程了。这就很明确了,因为thead-0没有捕获该异常,跳出了while循环,导致thead-0线程运行结束,该线程持有的对象也就能被释放了。
那如果thread-0发生了OOM,但是该线程仍旧存活并且持有这些对象会怎么样呢?
在线程thread-0我们捕获了该ERROR,然后让该线程暂停(不要让他结束&#x
jvm堆内存溢出后,其他线程是否可继续工作
最新推荐文章于 2023-06-16 01:50:02 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)