千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Arthas概述及能做什么

Arthas概述及能做什么

来源:千锋教育
发布人:syq
时间: 2022-09-15 10:18:34 1663208314

  最近有不少小伙伴私信小编,问小编能不能讲一个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

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
开班信息
北京校区
  • 北京校区
  • 大连校区
  • 广州校区
  • 成都校区
  • 杭州校区
  • 长沙校区
  • 合肥校区
  • 南京校区
  • 上海校区
  • 深圳校区
  • 武汉校区
  • 郑州校区
  • 西安校区
  • 青岛校区
  • 重庆校区
  • 太原校区
  • 沈阳校区
  • 南昌校区
  • 哈尔滨校区