前几天,我们线上的机器打印日志,我发现有些打印空指针的异常,没有具体的堆栈信息,正常而言,像空指针这种异常是一定会有异常的堆栈信息(有少量的这种情况,大多数像空指针有堆栈信息的打印)。而我这里想看看没有出现堆栈信息的空指针是不是与出现堆栈的空指针是否是一致的。或者说没有打印异常堆栈的空指针是有什么引起的。经过网上查找发现,可以设置JVM参数,在启动进程的时候配置:JVM启动参数加上-XX:-OmitStackTraceInFastThrow(减号表示关闭,加号则表示启用)。
配置之后重启,然后发现有对应的堆栈打印,从而问题迎刃而解了。
网上查看资源,说的是在JDK1.5以上,为了优化从而不打印异常堆栈信息。
参考:
http://blog.csdn.net/jiangguilong2000/article/details/47087487