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

Java 利用ASM读取变量值(Field value)问题研究

最近在学习Spring源码的过程中,遇到了spring-asm工程的重新打包的问题,于是突然就想研究一下asm这个 开源字节码操作工具。秉承我的一贯风格,想到啥就立马学啥。 对于开源产品,我的一贯风格就是通过其官方提供的源码版本管理地址(svn/git等),直接下载最新代码,构建Java工程,直接通过工程依赖的方式研究学习。(你说这样跟依赖jar包并且绑定源码比有啥好处? 一般情况下差不多,最多就是,我可以随时更新代码,可以本地随意修改代码等等呵呵。个人喜好。)

废话不多说,进入正题。我当时想研究的主要问题,就是想尝试通过ASM读取到class文件中声明的变量及其值(其实ASM的主要功能应该是动态生成字节码)。其他东西,我认为是可以触类旁通的。所以,我简单阅读了一下其官方文档,发现其tree API还是非常简单易懂,好上手的。所以,立即动手,我先新建了一个待读取的类。叫ForReadClass,内容如下:

全文详见个人独立博客:https://www.coderli.com/asm-fieldvalue/

Java 利用ASM读取变量值(Field value)问题研究 | OneCoder最近在学习Spring源码的过程中,遇到了spring-asm工程的重新打包的问题,于是突然就想研究一下asm这个开源字节码操作工具。秉承我的一贯风格,想到啥就立马学啥。 对于开源产品,我的一贯风格就是通过其官方提供的源码版本管理地址(svn/git等),直接下载最新代码,构建Java工程,直接通过工程依赖的方式研究学习。(你说这样跟依赖jar包并且绑定源码比有啥好处? 一般情况下差不多,最多就是,我可以随时更新代码,可以本地随意修改代码等等呵呵。个人喜好。)icon-default.png?t=O83Ahttps://www.coderli.com/asm-fieldvalue/

加入频道领免费Java学习资料:腾讯频道邀请

加入大佬免费带队Java学习群:Java学习群


http://www.kler.cn/a/298783.html

相关文章:

  • [代码随想录23回溯]回溯的组合问题+分割子串
  • Go快速开发框架2.6.0版本更新内容快速了解
  • 19_HTML5 Web Workers --[HTML5 API 学习之旅]
  • 基于OpenCV和Python的人脸识别系统_django
  • 命令手动更新 Navigator
  • 傅里叶变换原理
  • 2024级新生数组字符串专题题解
  • Docker 容器技术在简化 MySQL 主从复制部署与优化
  • 快速入门游戏领域,开发游戏需要哪些技术?
  • Lua垃圾回收机制
  • 跨境网红营销SOP流程1.0丨出海笔记
  • 博科测试IPO上市关注:创新驱动发展,加速技术成果转化
  • 使用datax从mysql导入数据到taosdb中
  • Vue框架学习笔记-9
  • Android12——Launcher3文件夹布局修改调整
  • 鸿蒙HarmonyOS应用开发者高级认证重点知识详解
  • 2024国赛数学建模C题论文:基于优化模型的农作物的种植策略
  • 根据NVeloDocx Word模板引擎生成Word(一)
  • 【C++】容器list常用接口详解
  • vue3 嵌套iframe 通讯
  • Docker 安装FileBeat、Elasticsearch及Kibana详细步骤
  • 基于Pinia和Compute的持久化localStorage登录态管理Vuejs 源码教学
  • 服务网关工作原理,如何获取用户真实IP?
  • Android Radio2.0——公告监听设置(四)
  • 表连接查询之两个left join与递归SQL
  • 使用Python本地搭建http.server文件共享服务并实现公网环境远程访问——“cpolar内网穿透”