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. 加载某个类
相关推荐
Wang's Blog8 分钟前
Java 项目部署之 Docker工具快速入门: 使用 Docker 镜像命令练习
java·docker
企业数字化笔记17 分钟前
多租户系统从哪里开始设计?租户身份、数据隔离、权限与套餐的整体方案
java·spring boot·后端·junit
tiger从容淡定是人生23 分钟前
从 Gemini 的任务示例出发:AI 能否从知识中推导工作流?
java·人工智能·aigc·知识图谱·创业创新·零知识证明
Nebula_g28 分钟前
JavaSE高级:动态代理
java·开发语言·算法·javase
高级程序源35 分钟前
springboot校园外卖平台13676-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·tomcat·maven·课程设计
怦然丶心动43 分钟前
用 Java 把干支历法算清楚:从节气切年到可读摘要
java·算法·vue·独立开发·spring boot / spring
青春逝如流水1 小时前
Java 线程与操作系统、硬件的关系:状态、映射与差异
java·开发语言·多线程·ai文章
深入云栈1 小时前
Netty 4.2.x 源码深度解析 (十八):ChannelOutboundBuffer 写缓冲区 —— 发送队列与流量控制
java·后端·架构
我是人✓1 小时前
Java核心术语与内存机制深度解析
java
xuxigifxfh1 小时前
面试记录2026
java·mysql·面试·职场和发展