【字节码】使用Javassist在运行时重新加载类「替换 原方法输出不一样的结果」 实时加载类

96 篇文章 14 订阅 ¥39.90 ¥99.00
本文介绍如何利用Javassist在运行时重新加载类,改变方法行为。通过一个模拟案例,展示了如何在不重启应用的情况下,动态修改谢飞机查询前女友数量的方法,实现结果的实时变更。文章详细解释了HotSwapper类的工作原理和使用方法,并提供了测试代码,以展示热加载的效果。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1.概述

上一篇文章:【字节码】javassist 定义属性以及创建方法时多种入参和出参 类型的使用

转载来源于:小傅哥的字节码编程-(公众号:bugstack虫洞栈) 仅供学习。并且做了稍微修改。

通过前面两篇 javassist 的基本内容,大体介绍了;类池(ClassPool)、类(CtClass)、属性(CtField)、方法(CtMethod),的使用方式,并通过创建不同类型的入参出参方法,基本可以掌握如何使用这样的代码结构进行字节码编程。

那么,今天我们尝试使用 javassist 去修改一个正在执行中的类里面的方法内容。也就是在运行时重新加载类信息

可能在你平时的 CRUD 开发中并没有想到过这样的 烧操作,但它却有很多的应用场景在使用,例如;

  1. 热部署常用在生产环境中,主要由于这样的系统不能频繁启停且启动耗时较长的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值