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. 加载某个类
相关推荐
豆沙沙包?几秒前
2025年--Lc200- 414. 第三大的数(大根堆)--Java版
java·开发语言
在下木子生7 分钟前
SpringBoot基于工厂模式的多类型缓存设计
java·spring boot·缓存
xxxxxxllllllshi12 分钟前
Java中Elasticsearch完全指南:从零基础到实战应用
java·开发语言·elasticsearch·面试·职场和发展·jenkins
无毁的湖光Al22 分钟前
日常问题排查-Younggc突然变长
java·jvm·后端
_星辰大海乀26 分钟前
网络原理 -- HTTP
java·服务器·http·get方法·post方法
没有bug.的程序员41 分钟前
电商系统分布式架构实战:从单体到微服务的演进之路
java·分布式·微服务·云原生·架构·监控体系·指标采集
Query*1 小时前
Java 设计模式——代理模式:从静态代理到 Spring AOP 最优实现
java·设计模式·代理模式
梵得儿SHI1 小时前
Java 反射机制深度解析:从对象创建到私有成员操作
java·开发语言·class对象·java反射机制·操作类成员·三大典型·反射的核心api
JAVA学习通1 小时前
Spring AI 核心概念
java·人工智能·spring·springai
望获linux1 小时前
【实时Linux实战系列】实时 Linux 在边缘计算网关中的应用
java·linux·服务器·前端·数据库·操作系统