反射+动态代理
2019-03-21 本文已影响0人
RookieRun
反射+动态代理
反射:以类名得到该类的属性名,属性值,方法名,方法的默认返回值,然后调用set/invoke等方法来设置某些属性的值以及调用某些方法
动态代理:通过实现InvocationHandler,实现invoke方法,在方法内部对指定方法进行拦截
hook就是动态代理+反射的结合应用,通过动态代理实现对某些方法或某些方法的返回值进行修改或者某些方法的调用关系,然后再通过反射,将某些属性的值进行修改,或者将某些方法进行调用