当前位置: 首页 > news >正文

东莞站福公司工资wordpress前面增加new

东莞站福公司工资,wordpress前面增加new,深圳保障性住房统一轮候信息系统,有没有便宜的网站制作前言 Arthas是一个非常牛B的东西#xff0c;我非常喜欢用#xff0c;特别是在定位线上问题的时候#xff0c;牛逼大发#xff01; 非常建议所有Java玩家都去学习一下 阅读对象 了解并使用过Arthas了解并使用过trace命令 先说结论 先说结论#xff0c;lambda表达式的追…前言 Arthas是一个非常牛B的东西我非常喜欢用特别是在定位线上问题的时候牛逼大发 非常建议所有Java玩家都去学习一下 阅读对象 了解并使用过Arthas了解并使用过trace命令 先说结论 先说结论lambda表达式的追踪大概格式如下 假设你的lambda表达式写在函数Demo类的test方法里面正常trace是trace Demo test。但如果你的test方法里面有lambda表达式你想要trace里面的内容你大概需要这么改trace Demo lambda$test$0。 我也不是很理解那个0是啥意思我猜测是test方法内第几个lambda表达式的意思然后是从0开始 如果你看了结论之后没办法解决你的问题那就往下看仔细看完吧。 RT RT我在我的线上环境中遇到了一个问题问题其实很简单一眼能看出来。 但重点是我想使用Arthas去定位线上问题的时候发现一个很尴尬的点那就是简单的trace无法trace到匿名函数里面的执行情况。 大概的伪代码如下 public void test() {// 从数据库获取数据ListMyReport reportList baseMapper.list();// 数据遍历reportList.foreach(p - {// 在这里面做一系列的运算代码800行// 但是在这里面出了问题doSomething();}); }问题 按照上面这种伪代码如果你trace Demo test的话正常来说它的输出打印类似下面 ---ts2023-12-26 11:17:20;thread_namehttp-nio-8300-exec-15;id52;is_daemontrue;priority5;TCCLorg.springframework.boot.web.embedded.tomcat.TomcatEmbeddedWebappClassLoader5b202a3a---[1699.530527ms] vip.xiaonuo.kitchen.modular.report.service.impl.ReportOrderAnalysisServiceImpl$$EnhancerBySpringCGLIB$$c02dbff3:test() [throws Exception]| ---[0.00% 0.017071ms ] java.util.ArrayList:init() #18| ---[0.02% 0.258435ms ] java.util.List:forEach() #19 [throws | ---throw:java.lang.ArithmeticException #-1 [null]---throw:java.lang.ArithmeticException #-1 [null]但显然这个没办法满足我的要求我想要知道在foreach里面到底是哪一步处理问题。 解决思路拓展不感兴趣可以跳过 于是我就网上百度Arthas如何trace 【匿名函数/Lambda表达式/函数式接口】。可惜都没有理想的方案甚至说没有一个人给出了答案。那能怎么办我只能去看官网了。 话说回来其实官网也并没有给出一个答案来不过在官方github上我得到了一些灵感。官方说 总结一下就是trace本身只能拿到当前method的字节码所以它只能trace当前method里的 invokevirtual 关键词method字节码 所以我就想着是否从字节码入手。我印象中class的字节码是有【方法】组的 解决办法 解决只需要2步。 步骤一安装字节码查看插件 首先需要在Idea安装一个字节码查看插件jclasslib bytecode viewer 步骤二查看字节码文件 然后确保自己的代码已经编译完成的前提下打开需要查看的Java代码文件 再点击菜单栏的view show bytecode with Jclasslib即可打开字节码窗口接着你会得到如下图所示的文件 点击方法你就会查看到匿名函数在字节码下的命名了。如下 比如我上图圈红处我的文件中有一个getOrderAnalysisInfo方法并且在里面使用了foreach声明了唯一的lambda表达式所以可以确定lambda$getOrderAnalysisInfo$0就是我要的真正的函数。 步骤三trace匿名函数 这里就不多解释了把你的trace Demo test改成trace Demo lambda$test$0就好了 当然我们已经知道了字节码命名风格之后可以不用安装上面说的字节码插件了就按照这种命名方式trace即可。 感谢 感谢百度大佬【作者程序员子悠】的文章《IDEA 字节码学习查看神器 jclasslib bytecode viewer》
http://www.hkea.cn/news/14295515/

相关文章:

  • 网站建设论文3000网站由哪些部分组成
  • 想建个图片网站学科专业网站建设
  • 武胜网站建设公司网站建设方案详细方案模板
  • 上海建站价格网络销售是做什么的
  • 大庆 网站建设深圳市官方网站开发公司
  • 网站为什么要做seowordpress修改域名登录后台
  • 做国外销售都上什么网站百度云 wordpress 教程视频
  • 电商网站建设阿里云深圳福田区天气
  • 企业门户网站管理办法网站正在建设中是什么意思
  • 网上购物网站开发开题报告网络推广费用大概价格
  • 如何制作网站?怎么做8代码网站
  • 项城做网站wordpress博客模板下载
  • 文化馆建设网站邯郸网站制作与建设
  • 郑州郑州网站建设河南做网站公司制作网站服务
  • 以前老网站如何做一间公司的网站
  • 九江县网站建设WordPress网站关闭插件
  • 优秀网站制作定制北京企业官网建设
  • 做logo的著名网站网站公司网站开发
  • 青岛网页制作网站坪山网站建设资讯
  • 精选微信网站建设wordpress创建知识库
  • 用dw怎么做网站首页百度联盟申请
  • 江门网站建设设计seo应该如何做
  • 响应式网站模板 视差南京cms建站系统
  • 网页设计作品下载企业怎么做好网站优化
  • 网站空间每年继费到哪交代运营一个月多少钱
  • 服装商城网站源码c2c交易
  • 做装修工程找什么网站接单铝合金型材外发加工网
  • 微信链接网页网站制作安阳企业网站优化排名
  • 昌图门户网站用家庭宽带做网站
  • 烤漆 东莞网站建设厦门市建设局网站