arthas之dump/classloader命令的使用

文章目录

  • [1. dump](#1. dump)
  • [2. classloader](#2. classloader)

1. dump

  • 作用:将已加载类的字节码文件保存到特定目录:logs/arthas/classdump/

  • 参数

数名称 参数说明
class-pattern 类名表达式匹配
[c:] 类所属 ClassLoader 的 hashcode
[E] 开启正则表达式匹配,默认为通配符匹配
  • 举例
bash 复制代码
把String类的字节码文件保存到~/logs/arthas/classdump/目录下
dump java.lang.String
bash 复制代码
把demo包下所有的类的字节码文件保存到~/logs/arthas/classdump/目录下
dump demo.*
  • 效果



小结

  • dump作用:将正在JVM中运行的程序的字节码文件提取出来,保存在logs相应的目录下

  • 不同的类加载器放在不同的目录下

2. classloader

  • 获取类加载器的信息

作用

  1. classloader 命令将 JVM 中所有的classloader的信息统计出来,并可以展示继承树,urls等。

  2. 可以让指定的classloader去getResources,打印出所有查找到的resources的url。对于ResourceNotFoundException异常比较有用。

  • 参数说明
参数名称 参数说明
[l] 按类加载实例进行统计
[t] 打印所有ClassLoader的继承树
[a] 列出所有ClassLoader加载的类,请谨慎使用
[c:] ClassLoader的hashcode
[c: r:] 用ClassLoader去查找resource
[c: load:] 用ClassLoader去加载指定的类
  • 举例
bash 复制代码
默认按类加载器的类型查看统计信息
classloader
bash 复制代码
按类加载器的实例查看统计信息,可以看到类加载的hashCode
classloader -l
bash 复制代码
查看ClassLoader的继承树
classloader -t
bash 复制代码
通过类加载器的hash,查看此类加载器实际所在的位置
classloader -c 70dea4e
bash 复制代码
使用ClassLoader去查找指定资源resource所在的位置
classloader -c 70dea4e -r META-INF/MANIFEST.MF
bash 复制代码
使用ClassLoader去查找类的class文件所在的位置
classloader -c 70dea4e -r java/lang/String.class
bash 复制代码
使用ClassLoader去加载类
classloader -c 70dea4e --load java.lang.String
  • 小结

classloader命令主要作用有哪些?

  1. 显示所有类加载器的信息
  2. 获取某个类加载器所在的jar包
  3. 获取某个资源在哪个jar包中
  4. 加载某个类
相关推荐
青云交10 分钟前
飞算 JavaAI 深度实战:从老项目重构到全栈开发的降本增效密码
java·代码生成·全栈开发·效率提升·智能编程·老项目重构·飞算 javaai
TinpeaV13 分钟前
(JAVA)自建应用调用企业微信API接口,实现消息推送
java·redis·企业微信·springboot·springflux
摘星编程15 分钟前
飞算JavaAI 2.0.0测评:自然语言编程如何颠覆传统开发?
java·ai编程·ai代码生成·飞算javaai炫技赛·javaai开发
码农阿豪18 分钟前
飞算JavaAI:专为Java开发者打造的智能编程革命
java·开发语言·microsoft
山中月侣25 分钟前
java集合 之 多列集合
java·开发语言·经验分享·学习方法
是小崔啊31 分钟前
【Maven】03 - 私服搭建
java·maven
小乌龟不会飞33 分钟前
【SpringBoot】统一功能处理
java·spring boot·后端
lyx331369675934 分钟前
IDEA、Pycharm、DataGrip等激活破解冲突问题解决方案之一
java·pycharm·intellij-idea
华科云商xiao徐1 小时前
分布式爬虫双核引擎:Java大脑+Python触手的完美协同
java·爬虫·python
程序员鱼皮1 小时前
爆肝2月,我的 AI 代码生成平台上线了!
java·前端·编程·软件开发·项目