我们有一个在 JBoss 上运行的应用程序。这个应用程序有一个或两个错误,导致它无限递归,导致 stackOverflowException。不是最优的,但不是灾难。
我们最近尝试迁移到 VMWare,同样的异常现在变成了段错误,导致整个应用程序服务器和 JVM 随之崩溃。
没有任何 stackOverflowException 会这样做,到目前为止,我无法创建一段简单的代码来重现此错误。
知道为什么会存在这种差异吗?
最佳答案
这似乎是在 Linux 系统上运行的 Oracle/Sun JVM HotSpot 的错误。
如果您使用 Oracle/Sun JVM 试用该应用程序,您将收到段错误。另一方面,如果您尝试使用 OpenJDK 运行同一个应用程序,您可能会看到 StackOverflow 错误。
关于java - JVM 中的段错误导致堆栈溢出,但仅限于 VMWare,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9453520/