Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e534636

Browse files
author
anaer
authored
Update 代理模式详解.md
typo
1 parent 4189bbe commit e534636

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

‎docs/java/basis/代理模式详解.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,15 @@ after method send()
120120

121121
**从 JVM 角度来说,动态代理是在运行时动态生成类字节码,并加载到 JVM 中的。**
122122

123-
说到动态代理,Spring AOP、RPC 框架应该是两个不得不的提的,它们的实现都依赖了动态代理。
123+
说到动态代理,Spring AOP、RPC 框架应该是两个不得不提的,它们的实现都依赖了动态代理。
124124

125-
**动态代理在我们日常开发中使用的相对较小,但是在框架中的几乎是必用的一门技术。学会了动态代理之后,对于我们理解和学习各种框架的原理也非常有帮助。**
125+
**动态代理在我们日常开发中使用的相对较少,但是在框架中的几乎是必用的一门技术。学会了动态代理之后,对于我们理解和学习各种框架的原理也非常有帮助。**
126126

127127
就 Java 来说,动态代理的实现方式有很多种,比如 **JDK 动态代理****CGLIB 动态代理**等等。
128128

129129
[guide-rpc-framework](https://github.com/Snailclimb/guide-rpc-framework) 使用的是 JDK 动态代理,我们先来看看 JDK 动态代理的使用。
130130

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 动态代理**的对比
132132

133133
### 3.1. JDK 动态代理机制
134134

@@ -154,7 +154,7 @@ after method send()
154154
2. **interfaces** : 被代理类实现的一些接口;
155155
3. **h** : 实现了 `InvocationHandler` 接口的对象;
156156

157-
要实现动态代理的话,还必须需要实现`InvocationHandler` 来自定义处理逻辑。 当我们的动态代理对象调用一个方法时候,这个方法的调用就会被转发到实现`InvocationHandler` 接口类的 `invoke` 方法来调用。
157+
要实现动态代理的话,还必须需要实现`InvocationHandler` 来自定义处理逻辑。 当我们的动态代理对象调用一个方法时,这个方法的调用就会被转发到实现`InvocationHandler` 接口类的 `invoke` 方法来调用。
158158

159159
```java
160160
public interface InvocationHandler {
@@ -298,7 +298,7 @@ extends Callback{
298298
1. **obj** :被代理的对象(需要增强的对象)
299299
2. **method** :被拦截的方法(需要增强的方法)
300300
3. **args** :方法入参
301-
4. **methodProxy** :用于调用原始方法
301+
4. **proxy** :用于调用原始方法
302302

303303
你可以通过 `Enhancer`类来动态获取被代理类,当代理类调用方法的时候,实际调用的是 `MethodInterceptor` 中的 `intercept` 方法。
304304

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /