JDK动态代理生成对象的步骤

原理

JDK动态代理采用字节重组,重新生成对象来替代原始对象,以达到动态代理的目的。

JDK动态代理生成对象的步骤

  1. 获取被代理对象的引用,并且获取它的所有接口,反射获取。
  2. JDK动态代理类重新生成一个新的类,同时新的类要实现被代理类实现的所有接口。
  3. 动态生成Java代码,新加的业务逻辑方法由一定的逻辑代码调用(在代码中体现)。
  4. 编译新生成的Java代码.class文件。
  5. 重新加载到JVM中运行。

以上过程就叫作字节码重组

JDK中有一个规范,在ClassPath下只要是$开头的.class文件,一般都是自动生成的

源码地址:https://github.com/lee58/designPattern.git

猜你喜欢

转载自blog.csdn.net/qq_37335220/article/details/113461659