JDK动态代理是通过反射
CGLib原理是动态生成被代理类的子类。CGLib 底层采用 ASM 字节码生成框架,使用字节码技术生成代理类