JAVA 文件heapdump文件解析

1,获取方式

springboot 日志分析获取 http://localhost/api/actuator/heapdump

(该日志文件,会泄露数据库账号密码等敏感信息,不能开通外网访问权限)

2,文件解析方式

方式一

java 自带命令

命令:jhat 文件名

该方式默认映射7000端口,使用浏览器打开:http://localhost:7000/
方式二

java 自带命令

命令:jvisualvm

该方式会打开一个图形界面。

文件 -> 装入 -> 【文件类型:堆 Dump】

注:工具 -> 插件 -> OQL Syntax Support。 可以安装此插件辅助查询

查询命令:select s.value.toString() from java.util.Hashtable$Entry s where /password/.test(s.key.toString())
方式三

第三方工具

heapdump_tool

usage:> java -jar heapdump_tool.jar heapdump

查询方式:

  1. 关键词 例如 password

  2. 字符长度 len=10 获取长度为10的所有key或者value值

  3. 按顺序获取 num=1-100 获取顺序1-100的字符

  4. class模糊搜索 class=xxx 获取class的instance数据信息

  5. id查询 id=0xaaaaa 获取id为0xaaaaa的class或者object数据信息

  6. re正则查询 re=xxx 自定义正则查询数据信息

获取url,file,ip

shirokey 获取shirokey的值

geturl 获取所有字符串中的url

getfile 获取所有字符串中的文件路径文件名

getip 获取所有字符串中的ip

默认不输出查询结果非key-value格式的数据,需要获取所有值,输入all=true,all=false取消显示所有值。

相关推荐
Goldn.10 小时前
Java核心技术栈全景解析:从Web开发到AI融合
java· spring boot· 微服务· ai· jvm· maven· hibernate
ะัี潪ิื10 小时前
springboot加载本地application.yml和加载Consul中的application.yml配置反序列化LocalDate类型差异
spring boot·consul·java-consul
李慕婉学姐11 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
m0_7400437311 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
编织幻境的妖11 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
未若君雅裁12 小时前
JVM面试篇总结
java·jvm·面试
kk哥889912 小时前
C++ 对象 核心介绍
java·jvm·c++
招风的黑耳12 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
xunyan623412 小时前
面向对象(下)-接口的理解
java·开发语言
大佐不会说日语~12 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai