动态代理手写实现
https://www.jianshu.com/p/58759fef38b8
一個加載器 ?一個接口 ?一個myproxy?
? 生成 ?
$proxy0 ? extends ?myproxy ?implements ?接口
myproxy ? implments ?InvocationHandler
一個接口是被代理的接口(接口其實也是一個代理 真真實現是子類) ?動態代理只是獲得了這個接口的 方法method 可以反射知道這個接口的所有信息 和他子類沒關系 ?子類如果實現了接口 就相當于把接口替換成子類了
一個代理類 就是純粹的代理 里面要實現invoke方法 ??$proxy0 調用方法時候都會調用invoke這個方法 ?
這個方法有 ? ?參數 ? : 接口的method,一個接口入參數據 ?只知道接口的方法的method ? ? ?如果想method(man,參數)這個man需要從構造方法傳入
實際就是生成了一個java文件 經過了編譯成class文件 加載到內存里 增強了接口 的method ?可以調用隨便一個接口
轉載于:https://www.cnblogs.com/yangmingyang/p/8570718.html
總結
- 上一篇: Redis常见配置redis.conf
- 下一篇: 在eclipse上Checkstyle的