【发布时间】:2014-05-14 18:09:28
【问题描述】:
java server 在出现以下错误后能否存活
java.lang.OutOfMemoryError:
Java 堆空间 java.lang.OutOfMemoryError: 超出 GC 开销限制
在我的应用程序中,出现此错误后我得到了堆转储,但我仍然看到在此错误后打印了一些日志。无法理解错误后它是如何幸存下来的。
【问题讨论】:
标签: java out-of-memory heap-dump
java server 在出现以下错误后能否存活
java.lang.OutOfMemoryError:
Java 堆空间 java.lang.OutOfMemoryError: 超出 GC 开销限制
在我的应用程序中,出现此错误后我得到了堆转储,但我仍然看到在此错误后打印了一些日志。无法理解错误后它是如何幸存下来的。
【问题讨论】:
标签: java out-of-memory heap-dump
是的——有可能在 OOM 异常中幸存下来,但您可能在此过程中丢失了一个线程。一旦该线程死亡,它所持有的所有内存都会被 GC 处理,然后您继续运行。
我不建议依赖这种行为,因为你不能保证哪个线程会死。
【讨论】: