File tree Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Original file line number Diff line number Diff line change @@ -120,15 +120,15 @@ after method send()
120
120
121
121
** 从 JVM 角度来说,动态代理是在运行时动态生成类字节码,并加载到 JVM 中的。**
122
122
123
- 说到动态代理,Spring AOP、RPC 框架应该是两个不得不的提的 ,它们的实现都依赖了动态代理。
123
+ 说到动态代理,Spring AOP、RPC 框架应该是两个不得不提的 ,它们的实现都依赖了动态代理。
124
124
125
- ** 动态代理在我们日常开发中使用的相对较小 ,但是在框架中的几乎是必用的一门技术。学会了动态代理之后,对于我们理解和学习各种框架的原理也非常有帮助。**
125
+ ** 动态代理在我们日常开发中使用的相对较少 ,但是在框架中的几乎是必用的一门技术。学会了动态代理之后,对于我们理解和学习各种框架的原理也非常有帮助。**
126
126
127
127
就 Java 来说,动态代理的实现方式有很多种,比如 ** JDK 动态代理** 、** CGLIB 动态代理** 等等。
128
128
129
129
[ guide-rpc-framework] ( https://github.com/Snailclimb/guide-rpc-framework ) 使用的是 JDK 动态代理,我们先来看看 JDK 动态代理的使用。
130
130
131
- 另外,虽然 [ guide-rpc-framework] ( https://github.com/Snailclimb/guide-rpc-framework ) 没有用到 ** CGLIB 动态代理 ,我们这里还是简单介绍一下其使用以及和** JDK 动态代理的对比 。
131
+ 另外,虽然 [ guide-rpc-framework] ( https://github.com/Snailclimb/guide-rpc-framework ) 没有用到 ** CGLIB 动态代理** ,我们这里还是简单介绍一下其使用以及和** JDK 动态代理 ** 的对比 。
132
132
133
133
### 3.1. JDK 动态代理机制
134
134
@@ -154,7 +154,7 @@ after method send()
154
154
2 . ** interfaces** : 被代理类实现的一些接口;
155
155
3 . ** h** : 实现了 ` InvocationHandler ` 接口的对象;
156
156
157
- 要实现动态代理的话,还必须需要实现` InvocationHandler ` 来自定义处理逻辑。 当我们的动态代理对象调用一个方法时候 ,这个方法的调用就会被转发到实现` InvocationHandler ` 接口类的 ` invoke ` 方法来调用。
157
+ 要实现动态代理的话,还必须需要实现` InvocationHandler ` 来自定义处理逻辑。 当我们的动态代理对象调用一个方法时 ,这个方法的调用就会被转发到实现` InvocationHandler ` 接口类的 ` invoke ` 方法来调用。
158
158
159
159
``` java
160
160
public interface InvocationHandler {
@@ -298,7 +298,7 @@ extends Callback{
298
298
1 . ** obj** :被代理的对象(需要增强的对象)
299
299
2 . ** method** :被拦截的方法(需要增强的方法)
300
300
3 . ** args** :方法入参
301
- 4 . ** methodProxy ** :用于调用原始方法
301
+ 4 . ** proxy ** :用于调用原始方法
302
302
303
303
你可以通过 ` Enhancer ` 类来动态获取被代理类,当代理类调用方法的时候,实际调用的是 ` MethodInterceptor ` 中的 ` intercept ` 方法。
304
304
You can’t perform that action at this time.
0 commit comments