目录介绍
- 01.什么是动态代理
- 1.1 动态代理定义
- 1.2 动态代理参与者
- 02.动态代理要掌握
- 2.1 为何需要动态代理
- 2.2 先看一个需求
- 2.3 动态代理组成元素
- 2.4 为何用到反射
- 03.动态代理原理
- 3.1 实现动态代理
- 3.2 重要类介绍
- 3.3 完成代码展示
- 04.使用场景分析
- 05.动态代理的优势
- 06.动态代理实现机制
01.什么是动态代理
- 动态代理:
- 代理类是在运行时生成的。也就是说 Java 编译完之后并没有实际的 class 文件,而是在运行时动态生成的类字节码,并加载到JVM中。
1.1 动态代理定义
- 给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原对象,而是通过代理对象间接地操控原对象。
- 第一个类比:代理对象是中介,原对象是房东的房子,客户就是我们需要找房的人。
- 房东的房子让中介代理出租,中介可以直接控制房子出租,用户是不能找房东直接租房子的,而是要间接通过中介租房子。
- 第二个类比:代理对象是售票点,原对象是火车站,客户就是需要买票的乘客。
- 我们购买火车票可以去火车站买,但是也可以去火车票代售处买,此处的火车票代售处就是火车站购票的代理&#x