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

相关推荐
2501_933923256 分钟前
SpringCloud组件:Eureka服务注册与发现
java·开发语言·后端·spring cloud·eureka
Wang's Blog8 分钟前
Java 中间件之 RabbitMQ 快速入门: SpringAMQP 消息转换器
java·中间件·java-rabbitmq
Re_zero34 分钟前
一次 SSE 断流排查:PrintWriter 吞掉了我的 IOException
java·后端
我是人✓1 小时前
Java核心语法:作用域、循环与大数值处理
java·开发语言·后端
SL_staff1 小时前
BI不该只服务高管:JVS如何让仓库管理员自主配置库存预警
spring boot·数据分析·数据可视化
夜之眷属1 小时前
PriorityQueue:for-each 遍历和 poll 取出,顺序一样吗?
java·服务器·数据结构·后端·算法
蜗牛互联网2 小时前
Java标准HTTP调用多模态模型的票据抽取前置校验
java·人工智能·python·http
码哥字节2 小时前
Spring Boot 4.1 默认开虚拟线程,连接池为什么反而打满了?
spring boot·后端
工具派2 小时前
Agent 不是玄学:用 Java 状态机思维理解 LangGraph
java·人工智能·python
十年Java程序媛2 小时前
String / StringBuilder / StringBuffer|别再乱用字符串拼接,底层原理一次讲透
java·spring boot·后端