让我试着解释一下。我们有一台运行Jboss 5.1
的服务器,并且有很多并发连接,而且,有时我们需要重新启动并进行一些维护/发布。
问题是,有时我们启动服务器并且看起来某些库在启动时没有加载,或者出于其他原因,我们不断得到NullPointerException
没有任何堆栈跟踪..我们确实知道它被抛出的类,但通过检查代码,由于某种原因可以抛出nullpoin,甚至强制一些例外,它们都至少具有堆栈跟踪。
我在stackoverflow中找到了许多答案,告诉JVM
做了一些优化,但我们刚刚启动了服务器。即使第一个exception
,我也不相信它会做任何优化被抛出。我还检查了任何相关的setStackTrace
或代码ex.toString()
..我们也没有。{/ p>
所以我的问题实际上是,除了这个优化之外,为什么这样的exception
可以抛出没有堆栈跟踪?
修改
我的问题与-XX:-OmitStackTraceInFastThrow
无关,因为即使在第一个例外情况下它也会发生!
答案 0 :(得分:-3)
使用-XX:-OmitStackTraceInFastThrow
JVM参数。