1、jvm启动参数中没有配置-XX:-OmitStackTraceInFastThrow,参数:OmitStackTraceInFastThrow字面意思是省略异常栈信息从而快速抛出。

相关源码:

// If this throw happens frequently, an uncommon trap might cause// a performance pothole.  If there is a local exception handler,// and if this particular bytecode appears to be deoptimizing often,// let us handle the throw inline, with a preconstructed instance.// Note:   If the deopt count has blown up, the uncommon trap// runtime is going to flush this nmethod, not matter what.// 这里要满足两个条件:1.检测到频繁抛出异常,2. OmitStackTraceInFastThrow为true,或StackTraceInThrowable为falseif (treat_throw_as_hot&& (!StackTraceInThrowable || OmitStackTraceInFastThrow)) {// If the throw is local, we use a pre-existing instance and// punt on the backtrace.  This would lead to a missing backtrace// (a repeat of 4292742) if the backtrace object is ever asked// for its backtrace.// Fixing this remaining case of 4292742 requires some flavor of// escape analysis.  Leave that for the future.ciInstance* ex_obj = NULL;switch (reason) {case Deoptimization::Reason_null_check:ex_obj = env()->NullPointerException_instance();break;case Deoptimization::Reason_div0_check:ex_obj = env()->ArithmeticException_instance();break;case Deoptimization::Reason_range_check:ex_obj = env()->ArrayIndexOutOfBoundsException_instance();break;case Deoptimization::Reason_class_check:if (java_bc() == Bytecodes::_aastore) {ex_obj = env()->ArrayStoreException_instance();} else {ex_obj = env()->ClassCastException_instance();}break;}... ...
}

2、OmitStackTraceInFastThrowStackTraceInThrowable都默认为true。

所以条件 (!StackTraceInThrowable || OmitStackTraceInFastThrow)为true,即JVM默认开启了Fast Throw优化。

如果想关闭这个优化,配置-XX:-OmitStackTraceInFastThrow,StackTraceInThrowable保持默认配置-XX:+OmitStackTraceInFastThrow即可。

JVM只对几个特定类型异常开启了Fast Throw优化,这些异常包括:

  • NullPointerException
  • ArithmeticException
  • ArrayIndexOutOfBoundsException
  • ArrayStoreException
  • ClassCastException

3、下面写个循环调用空指针异常测试一下:在循环了2800多次后,还是能正常打出堆栈信息。再之后就简化了异常输出。

4、修改JVM 启动参数,添加OmitStackTraceInFastThrow后。循环7000次异常信息还是正常输出。

error日志显示不全的问题,-XX:-OmitStackTraceInFastThrow相关推荐

  1. Tidb慢日志显示不全

    查询Tidb慢日志时发现语句较长的sql无法全部显示,查阅资料后发现有参数限制慢日志的长度. query-log-max-len为最长的 SQL 输出长度,默认值为2048,当语句的长度大于 quer ...

  2. Linux部署Tomcat踩的坑以及解决方案【8080无法访问、日志显示XX端口被占用、修改默认端口、无法提供安全连接】

    Linux部署Tomcat踩的坑以及解决方案[8080无法访问.日志显示XX端口被占用.修改默认端口.无法提供安全连接] 8080无法访问 解压开压缩包后,执行bin目录下的 startup.sh 后 ...

  3. 【java】-XX:-OmitStackTraceInFastThrow只有空指针,没有堆栈信息

    前言 有时候日志打印,只有空指针,没有堆栈信息.是因为空指针打印的太多了,如何显示每一条堆栈呢? 解决方案 修改jvm参数,-XX:-OmitStackTraceInFastThrow,OmitSta ...

  4. JVM异常不打印堆栈信息 [ -XX:-OmitStackTraceInFastThrow ]

    一. 背景 生产环境日志突然膨胀到100G+, 为了定位问题,所以截取了部分报错日志, 问题是 堆栈信息呢? 哪里报的NPE在哪??? 信息如下: [ERROR] 2020-12-09 09:41:5 ...

  5. python 横坐标只显示部分数据_解决echarts中横坐标值显示不全(自动隐藏)问题

    echarts中,横轴数据如果非常多,会自动隐藏一部分数据,我们可以通过属性interval来进行调整. 如下图,当横轴时间为13天时,echarts会自动隔天显示 如果我们想显示全,则需要在xAxi ...

  6. 【tensorboard可视化-使用+虚线去除+数据点显示不全】

    0.前言 可视化各个监控指标的使用,分别对以下选项卡进行介绍, TensorFlow 版本不一样会导致该界面也略有不同, 0.9.0 版本的 TensorFlow 有 5 个分栏,分别是SCALARS ...

  7. matplotlib 设置标注方向_matplotlib y轴标注显示不全以及subplot调整的问题

    matplotlib y轴标注显示不全以及subplot调整的问题 问题: 我想在y轴显示的标注太长,想把它变成两行显示,发现生成的图形只显示的第二行的字,把第一行的字挤出去了 想要的是显示两行这样子 ...

  8. 解决GridView内容显示不全问题

    我用GridView来显示一些字符串,而字符串的长度是不固定的,然后就遇到问题了:有时字符重叠,有时显示不全,有时两种问题同时出现.见下图: 图一 GridView显示重叠.显示不全 这到底是什么情况 ...

  9. java word转pdf,可以解决转pdf后word横版变窄问题(pdf显示不全)

    友情提醒,这个是目前不支持Linux,只支持wind. 最近公司业务需要在pdf中显示表格,但是表格内容列数有点长,导致 word 转pdf的时候 显示不全: 如上图这种显示不全的情况(截图中没有放表 ...

最新文章

  1. 【css】基础学习总结
  2. IOS 常见面试汇总
  3. Tensorflow2.0安装(win10系统cpu版本)
  4. ELK系列(1) - Elasticsearch + Logstash + Kibana + Log4j2快速入门与搭建用例
  5. 阿里云OSS对象存储STS鉴权配置
  6. Android Stduio启动模拟器运行项目时做了什么
  7. 现代程序设计 作业1
  8. CSS3中的unicode字符编码,来添加图标
  9. 小米蓝牙耳机使用说明书
  10. 如何保证手机APP兼容性覆盖测试
  11. elementUI使用el-tabs时,页面崩溃卡死问题
  12. A40i linux移植ssh报错
  13. 传感器SensorManager
  14. 第一个C编译器的诞生图
  15. 杰理之MIDI音乐实现【篇】
  16. 计算机网络第五章(谢希仁)--运输层 思维导图
  17. 【图像处理】图形图像中术语
  18. Centos7 进入紧急模式Emergency Mode处理办法
  19. 2021广西大新中学高考成绩查询,广西:关于划定2019年普通高中最低录取分数线的通知...
  20. 淘宝优站站主管理细则

热门文章

  1. 【C语言】极坐标转换为直角坐标
  2. 各大佬抨击ICML审稿太随意:LeCun三篇全没中,马毅说以后再也不投了
  3. vue.draggable实现元素拖动效果
  4. 计算机组装已维护的学术报告,计算机组装与维护中的问题及解决对策分析
  5. Macbook环境配置之个人配置
  6. 弘辽科技:拼多多又搞事,这些商家又受影响。
  7. 内网服务器使用docker安装应用
  8. 电子政务信息交换平台与数据中心的构建(转)
  9. Android 之路18---Java基础12
  10. 【PASCALVOC】The Pascal Visual Object Classes Challenge: A Retrospective