当前位置: 首页 > news >正文

前情提要线上跑的代码找不到源码了,项目又需要调整某个字段的校验规则,早有耳闻知道可以通过Arthas完成这个场景的需求,实际动手试了试,在此记录一下。警告!警告!

!!! 重要警告 !!! # 1. 生产环境谨慎使用,先测试 # 2. 修改前备份原始类 # 3. 确保修改符合JVM规范 # 4. 注意内存泄漏风险 # 5. 重启后会丢失修改 # 安全操作流程: # 1. jad导出源码备份 # 2. 在小范围测试修改 # 3. mc编译时检查错误 # 4. redefine后立即验证 # 5. 记录修改内容以便后续正式发布

基本流程

1. 反编译现有类 -> 2. 修改代码 -> 3. 编译成.class -> 4. 重新加载

启动Arthas

进入到Arthas的bin目录下执行./as.sh命令,选择对应的Java服务。

反编译现有类到指定文件

jad --source-only *** > /***/arthas-output/***.java

修改代码

vi /***/arthas-output/***.java

编译成.class文件

mc -c <ClassLoaderHash> /***/arthas-output/***.java -d /***

查看ClassLoaderHash的值

sc -d com.***

输出的内容会显示具体的ClassLoaderHash值

重新加载class文件

retransform /***/***.class
http://www.jsqmd.com/news/1101720/

相关文章:

  • 从Copilot到CodeGen Pro,AI自动写代码的4个认知断层,90%开发者卡在第2层而浑然不知
  • 想选简约时尚款轨道不用愁 这份实用选购推荐帮你轻松避坑
  • Windows 11安卓子系统终极指南:如何在电脑上免费运行安卓应用
  • Minikube windows安装
  • 用 Rust 写一个不依赖 OpenSSL 的命令行 SSH 工作台:r-shell 实战
  • 论文解读:LLM 不直接改代码,也能让程序跑快 3 倍?
  • Pytest数据驱动测试实战:三种主流方案与最佳实践详解
  • Cursor 自动排查 GitHub Actions:CI 失败后,先让智能体完成分诊
  • Hibernate Criteria API:类型安全的动态查询构建指南
  • 阿里云盘Refresh Token获取工具:3分钟扫码搞定云盘授权难题
  • 2026 北京 AI 智能体定制开发:功能、落地场景与服务商选型参考
  • FileDescriptor的源码和使用注意事项(windows操作系统,JDK8)
  • 如何用ZR.Admin.NET在3个月内构建企业级管理系统:一个.NET开发者的真实经历
  • openEuler/llm_solution智能应用平台深度解析:智能调优、运维、研究三大核心功能
  • 百度网盘直链解析工具终极指南:告别限速,拥抱全速下载新时代
  • Ansible自动化部署静态网站:Ubuntu 20.04 + Nginx最佳实践
  • 3分钟获取阿里云盘Refresh Token的终极指南:扫码授权,安全便捷
  • 基于规范不变HHO方法求解磁薛定谔方程的数值实现与验证
  • 2026餐饮SAAS系统维护商推荐:凤梨收银系统服务商深度解析
  • Hermes Agent 发布桌面客户端,两大版本更新解读!
  • 用AI优化简历,让你的求职之路不再迷茫!(收藏版)
  • Windows上的安卓应用革命:APK安装器如何重新定义跨平台体验
  • JavaScript字符串底层原理与高性能实践
  • 新手搭建 OpenClaw 智能助手,规避 99% 安装失败的实用操作步骤(含安装包)
  • .NET Core微服务架构下的安全纵深防御实践:从认证到AI集成的全链路防护
  • 3步实现专业级虚拟背景:obs-backgroundremoval零配置指南
  • AI结对编程真能替代初级工程师?——基于12家上市公司真实人效数据的3个月AB测试报告
  • Deepfake换脸是什么?人脸核验系统怎么防?
  • Sora能生成60秒4K视频,可灵AI却主打“10秒精准可控”——视频生成新范式正在转移,你还在用旧标准评估吗?
  • AI 电动温奶器智能功率 MOSFET 完整选型方案