【问题标题】:can java server survive after OutOfMemoryError [duplicate]在OutOfMemoryError之后java服务器可以生存吗?
【发布时间】:2014-05-14 18:09:28
【问题描述】:

java server 在出现以下错误后能否存活

java.lang.OutOfMemoryError:

Java 堆空间 java.lang.OutOfMemoryError: 超出 GC 开销限制

在我的应用程序中,出现此错误后我得到了堆转储,但我仍然看到在此错误后打印了一些日志。无法理解错误后它是如何幸存下来的。

【问题讨论】:

  • 能否请您发布日志?来自您的应用程序或 JVM 本身的日志在哪里?
  • This 有一些关于该特定错误的有用信息(查看第三个注释)。另外,this 是一个相关问题(可能重复?)

标签: java out-of-memory heap-dump


【解决方案1】:

是的——有可能在 OOM 异常中幸存下来,但您可能在此过程中丢失了一个线程。一旦该线程死亡,它所持有的所有内存都会被 GC 处理,然后您继续运行。

我不建议依赖这种行为,因为你不能保证哪个线程会死。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 2014-03-16
    • 2023-04-05
    相关资源
    最近更新 更多