没有 StackTrace 的 Java 中的 NullPointerException
在 Java 代码中遇到 NullPointerException 时,通常会记录堆栈跟踪以进行调试。然而,有时堆栈跟踪可能是空的,让开发人员感到困惑。
一种可能的解释是您正在使用以其优化功能而闻名的 HotSpot JVM。为了优先考虑性能,HotSpot JVM 可能会抑制频繁发生的异常的堆栈跟踪。要检索这些堆栈跟踪,请添加以下 JVM 选项:
-XX:-OmitStackTraceInFastThrow
此优化由 HotSpot JVM 的 graphKit.cpp 文件中的 OmitStackTraceInFastThrow 变量实现,尝试防止记录经常发生的异常的重复堆栈跟踪。通过禁用此优化,您可以恢复堆栈跟踪输出,从而使您能够查明 NullPointerException 的来源。
以上是为什么我的 Java NullPointerException 缺少堆栈跟踪?的详细内容。更多信息请关注PHP中文网其他相关文章!