查日志是我们排查问题的重要手段之一,直接又方便。其中异常日志堆栈信息可以让我们快速的发现问题所在,但稍微有点经验的开发应该会遇到过日志堆栈信息丢失的情况。堆栈只打印了一行:java.lang.NullPointerException,然后什么信息都没有了,这是怎么回事?异常堆栈丢失情况下要如何排查问题?JVM内部同一个方法被调用多次的时候,会被JIT编译器进行优化,在Oracle官方文档中,有一段英文描述:。另外一方面异常栈的获取是非常消耗性能的,这点通过JVM内部默认会对一些异常不进行堆栈回溯也可以看出。
暂无评论