摘要: 一、模拟cglib代理 package com.mangoubiubiu.show.a14; public class Target { public void save(){ System.out.println("save()"); } public void save(int i){ Syst 阅读全文
posted @ 2022-09-25 16:17 KwFruit 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 一、模拟cglib代理 package com.mangoubiubiu.show.a14; import org.springframework.cglib.proxy.MethodInterceptor; import java.lang.reflect.Method; import java. 阅读全文
posted @ 2022-09-25 15:47 KwFruit 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 一、代码 package com.mangoubiubiu.show.asm; import java.lang.reflect.Field; import java.lang.reflect.Method; // 运行时请添加 --add-opens java.base/java.lang.ref 阅读全文
posted @ 2022-09-25 15:18 KwFruit 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 一、利用ASM插件生成 asm生成代理类的字节码代码 1、写好代理类 package com.mangoubiubiu.show.asm; import org.springframework.cglib.proxy.UndeclaredThrowableException; import java 阅读全文
posted @ 2022-09-25 11:55 KwFruit 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 一、利用Arthas工具 反编译出源码 发现和我们自己写的模拟jdk代理差不多 /* * Decompiled with CFR. * * Could not load the following classes: * com.mangoubiubiu.show.a12.JdkProxyDemo$F 阅读全文
posted @ 2022-09-25 10:50 KwFruit 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 一、获取目标方法的返回 package com.mangoubiubiu.show.a13; import java.lang.reflect.Method; public class A13 { interface Foo{ void foo() ; int bar() ; } interface 阅读全文
posted @ 2022-09-25 10:41 KwFruit 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 一、简单代理 package com.mangoubiubiu.show.a13; public class A13 { interface Foo{ void foo(); } static class Target implements Foo{ @Override public void fo 阅读全文
posted @ 2022-09-25 10:17 KwFruit 阅读(30) 评论(0) 推荐(0) 编辑