JVM异常优化Fast Throw 与 OmitStackTraceInFastThrow 参数
所属分类 jvm
浏览量 1557
JVM对一些特定的异常类型做了Fast Throw优化,如果检测到在代码里某个位置连续多次抛出同一类型异常的话,
C2会决定用Fast Throw方式来抛出异常,而异常Trace即详细的异常栈信息会被清空。
这种异常抛出速度非常快,因为不需要在堆里分配内存,也不需要构造完整的异常栈信息。
默认开启 Fast Throw
关闭 -XX:-OmitStackTraceInFastThrow
JVM只对几个特定类型异常开启Fast Throw
NullPointerException
ArithmeticException
ArrayIndexOutOfBoundsException
ArrayStoreException
ClassCastException
NullPointerException 异常堆栈被优化后,很难排查
jcmd 68066 VM.flags -all |grep OmitStackTraceInFastThrow
bool OmitStackTraceInFastThrow = true {product}
jvm参数查看
上一篇
下一篇
eclipse安装lombok
springboot2 feign 实例
feign消费端注解使用说明
arthas实战之生产环境空指针排查
java并发包JUC简介
身材就是你的名片