java是静态的强类型语言,但是因为提供了反射等机制,也就具备了部分动态类型的语言能。
反射机制是java语言提供的一种基础功能,赋予程序在运行时自省的能力。通过反射我们可以直接操作类或者对象
动态代理是一种方便运行时动态构建代理、动态处理代理方法调用的机制,很多场景都会用到。rmi、rpc等
动态代理主要是让调用者与实现者之间解耦。
jdk动态代理和cglib区别
jdk 是通过invocationHandler,被调用者必须实现接口。而cglib则不需要。
spring的动态代理可以通过proxy-target-class来制定是否启用cglib的方式