全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

Arthas概述及能做什么

发布时间:2022-09-15 10:18:34
发布人:syq

  最近有不少小伙伴私信小编,问小编能不能讲一个Java开发中常用的诊断工具。你们知道,小编是很宠大家的。所以,今天就带大家来学习一下我们在日常工作中常用的诊断工具,Arthas(阿尔萨斯)。

Arthas概述

  一.现有问题

  在我们的日常开发中,如果在代码中遇到问题,我们可以使用DEBUG进行调试,追踪方法的执行过程,查看参数及返回值和报错信息等,并可以进行定位和解决问题。

  但如果是在服务器上,或者是在进行前后端联调、预发及线上,没有IDE的环境,我们遇到了问题,又如何排查定位问题呢?

  有的小伙伴会说,我们可以查看线上的项目日志!但如果是数据有问题呢?日志文件中也不可能全部都有记录。

  另外如果某个接口执行过慢,该如何定位是哪个服务?哪个方法?那行代码的问题?处于整个请求链中哪一环?

  有的小伙伴会说,可以在每个方法中都添加AOP切面,使用StopWatch来记录时间。但这就需要修改代码了,不方便!

  有时代码明明修改了,但运行的结果却还是旧的,代码修复后似乎没有生效怎么办?

  我们查看线上的仓库代码,发现代码确实是新的,但执行的似乎是旧的代码?如何确定运行的代码不一致?

  或者现在线上出现了紧急问题,但又不能或没有权限立即上线更新,这该如何立即处理?

  虽然Python、PHP等脚本语言可以直接修改线上代码,但Java如何做到热更新呢?

  以上这些问题,想想都很头疼,如果你不知道该怎么解决,到了公司里面真的很难混的下去哦。

  所以针对上面的问题,小编要给大家介绍一款解决这些问题的利器--Arthas!那么Arthas具体能做什么呢?

  二.Arthas概述

  Arthas是Alibaba开源的Java诊断工具,也是目前最火的诊断工具之一。当我们遇到以下类似问题而束手无策时,Arthas都可以帮我们解决:

  这个类是从哪个 jar包加载的?为什么会产生与各种类相关的 Exception?

  我修改的代码为什么没有执行?难道是我没 commit?分支搞错了?

  遇到问题无法在线上debug,难道只能通过加日志查看再重新发布吗?

  线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法重现!

  是否有一个全局视角来查看系统的运行状况?

  有什么办法可以监控到JVM的实时运行状态?

  怎么快速定位应用的热点,生成火焰图?

  怎样直接从JVM内查找某个类的实例?

  Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供了丰富的 Tab 自动补全功能,方便进行问题的定位和诊断。

  总之一句话:简单,好用,用俺们河南话就是得劲,真中!

  三.Arthas能做什么

25

相关文章

抖店平台商户被退店还能退货吗?如何提高评分?

2023-09-19

抖店入驻收费多少?开抖店费用是多少?

2023-09-19

想做直播带货的货源哪里来?怎么找货源?

2023-09-19

抖店没有营业执照怎么办?类型有哪些?

2023-09-19

女孩子拍什么最容易火?拍视频怎么赚钱的?

2023-09-19

怎样投抖加不花钱,有哪些技巧?

2023-09-19
在线咨询 免费试学 教程领取