Skip to content

Commit 4c3a464

Browse files
committed
update reamde
1 parent de6647c commit 4c3a464

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@
3434
<tr>
3535
<td align="center" valign="middle">
3636
<a href="https://mp.weixin.qq.com/s/li9_YXNVxan6Qgt3Q9FYqA">
37-
<img src="./media/sponsor/wangyi.png" style="margin: 0 auto;width:450px" /></a>
37+
<img src="https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/wangyi.png" style="margin: 0 auto;width:450px" /></a>
3838
</td>
3939
<td align="center" valign="middle">
4040
<a href="https://kaiwu.lagou.com/course/courseInfo.htm?courseId=374&decorateId=82d9388505f147cbae5de546aeb0466e&utm_campaign=gongzhonghaolyw&utm_medium=koushuang&utm_source=weixinlyw#/content">
41-
<img src="./media/sponsor/lagou.jpeg" style="margin: 0 auto;width:450px" /></a>
41+
<img src="https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/lagou.jpeg" style="margin: 0 auto;width:450px" /></a>
4242
</td>
4343
</tr>
4444
</tbody>

docs/java/basic/java-proxy.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
- [3.2.3. 代码示例](#323-代码示例)
2020
- [3.3. JDK 动态代理和 CGLIB 动态代理对比](#33-jdk-动态代理和-cglib-动态代理对比)
2121
- [4. 静态代理和动态代理的对比](#4-静态代理和动态代理的对比)
22+
- [5. 总结](#5-总结)
2223

2324
<!-- /code_chunk_output -->
2425

@@ -405,8 +406,6 @@ send message:java
405406
after method send
406407
```
407408

408-
> 源码地址:[https://github.com/Snailclimb/guide-rpc-framework-learning/tree/master/src/main/java/github/javaguide/dynamicProxy](https://github.com/Snailclimb/guide-rpc-framework-learning/tree/master/src/main/java/github/javaguide/dynamicProxy)
409-
410409
### 3.3. JDK 动态代理和 CGLIB 动态代理对比
411410

412411
1. **JDK 动态代理只能只能代理实现了接口的类,而 CGLIB 可以代理未实现任何接口的类。** 另外, CGLIB 动态代理是通过生成一个被代理类的子类来拦截被代理类的方法调用,因此不能代理声明为 final 类型的类和方法。
@@ -415,4 +414,10 @@ after method send
415414
## 4. 静态代理和动态代理的对比
416415

417416
1. **灵活性** :动态代理更加灵活,不需要必须实现接口,可以直接代理实现类,并且可以不需要针对每个目标类都创建一个代理类。另外,静态代理中,接口一旦新增加方法,目标对象和代理对象都要进行修改,这是非常麻烦的!
418-
2. **JVM 层面** :静态代理在编译时就将接口、实现类、代理类这些都变成了一个个实际的 class 文件。而动态代理是在运行时动态生成类字节码,并加载到 JVM 中的。
417+
2. **JVM 层面** :静态代理在编译时就将接口、实现类、代理类这些都变成了一个个实际的 class 文件。而动态代理是在运行时动态生成类字节码,并加载到 JVM 中的。
418+
419+
## 5. 总结
420+
421+
这篇文章中主要介绍了代理模式的两种实现:静态代理以及动态代理。涵盖了静态代理和动态代理实战、静态代理和动态代理的区别、JDK 动态代理和 Cglib 动态代理区别等内容。
422+
423+
文中涉及到的所有源码,你可以在这里找到:[https://github.com/Snailclimb/guide-rpc-framework-learning/tree/master/src/main/java/github/javaguide/proxy](https://github.com/Snailclimb/guide-rpc-framework-learning/tree/master/src/main/java/github/javaguide/proxy)

0 commit comments

Comments
 (0)