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取消显示所有值。

相关推荐
飛_31 分钟前
解决VSCode无法加载Json架构问题
java·服务器·前端
木棉软糖3 小时前
一个MySQL的数据表最多能够存多少的数据?
java
程序视点4 小时前
Java BigDecimal详解:小数精确计算、使用方法与常见问题解决方案
java·后端
GEM的左耳返4 小时前
Java面试全攻略:Spring生态与微服务架构实战
spring boot·redis·spring cloud·微服务·kafka·java面试
愿你天黑有灯下雨有伞4 小时前
Spring Boot SSE实战:SseEmitter实现多客户端事件广播与心跳保活
java·spring boot·spring
Java初学者小白4 小时前
秋招Day20 - 微服务
java
狐小粟同学5 小时前
JavaEE--3.多线程
java·开发语言·java-ee
KNeeg_6 小时前
Spring循环依赖以及三个级别缓存
java·spring·缓存
AI_Gump7 小时前
【AI阅读】20250717阅读输入
java·spring boot·spring
ldj20207 小时前
Docker的docker-compose类比Spring的ApplicationContext
spring·docker