既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
【合集】Java进阶——Java深入学习的笔记汇总 & 再论面向对象、数据结构和算法、JVM底层、多线程、类加载 …
目录
引出
1.JVM调优的工具阿里云的Arthas的使用,安装和使用;
2.命令的使用案例,dashboard,heapdump,jvm,sm,jad;
3.死锁查询的案例;重新加载一个类信息的案例;调用慢的分析案例。
Arthas的使用
官网和初识
阿尔萨斯官网:https://arthas.aliyun.com/doc/
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
当你遇到以下类似问题而束手无策时,Arthas
可以帮助你解决:
- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
- 是否有一个全局视角来查看系统的运行状况?
- 有什么办法可以监控到 JVM 的实时运行状态?
- 怎么快速定位应用的热点,生成火焰图?
- 怎样直接从 JVM 内查找某个类的实例?
安装和使用
curl -O https://arthas.aliyun.com/arthas-boot.jar #下载arthas
java -jar arthas-boot.jar #启动阿尔萨斯
1.启动自己的jar包
java -jar -Xms200m -Xmx200M -XX:+PrintGC -XX:-UseParallelGC spring-gc-demo-1.0-SNAPSHOT.jar
2.然后启动阿尔萨斯
3.命令参考
https://arthas.aliyun.com/doc/commands.html
命令的使用案例
1.dashboard
通过这个命令,可以查看哪根线程是最吃CPU的!替代:top -p 进程 -H
得到进程仪表盘,当前系统的实时数据面板,按 ctrl+c 退出
2.heapdump
替代jmap命令,dump java heap, 类似 jmap 命令的 heap dump 功能
3.jvm
查看当前 JVM 信息,替代jinfo命令
4.sm
查看已加载类的方法信息
5.jad
jad 反编译看一下
6.help
arthas 的帮助命令
7.memory
查看 JVM 内存信息
8.watch
让你能方便的观察到指定函数的调用情况。能观察到的范围为:
返回值
、抛出异常
、入参
死锁的场景
thread 线程信息
查看当前线程信息,查看线程的堆栈
thread -h 查看帮助
检测死锁
thread -b
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
oIXM-1715271191460)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!