zoukankan      html  css  js  c++  java
  • 反射与动态代理

    问题总结:
    1.考察你对反射机制的了解和掌握程度。


    2.动态代理解决了什么问题,在你业务系统中的应用场景是什么?
      代理可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成。
      通过代理可以让调用者与实现者之间解耦。比如进行 RPC 调用,框架内部的寻址、序列化、反序列化
      过代理静默地解决一些业务无关的问题,比如远程、安全、事务、日志、资源关闭……让应用开发者可以只关心他的业务

    3.JDK 动态代理在设计和实现上与 cglib 等方式有什么不同,进而如何取舍?


    4.反射各种典型用例的编程

    5.动态代理模式选型

      JDK Proxy 的优势:最小化依赖关系,减少依赖意味着简化开发和维护,JDK 本身的支持,可能比 cglib 更加可靠。平滑进行 JDK 版本升级,
            而字节码类库通常需要进行更新以保证在新版 Java 上能够使用。
            代码实现简单。

      基于类似 cglib 框架的优势:有的时候调用目标可能不便实现额外接口,从某种角度看,限定调用者实现接口是有些侵入性的实践,
      类似 cglib 动态代理就没有这种限制。只操作我们关心的类,而不必为其他相关类增加工作量。高性能。

    我们在选型中,性能未必是唯一考量,可靠性、可维护性、编程工作量等往往是更主要的考虑因素,毕竟标准类库和反射编程的门槛要低得多,代码量也是更加可控的,

    如果我们比较下不同开源项目在动态代理开发上的投入,也能看到这一点。

    纸上学来终觉浅,觉知此事需躬行
  • 相关阅读:
    jQuery---自定义动画 animate();
    jQuery---清空节点和删除节点
    HTML5与HTML4的区别
    前端开发CSS清除浮动的方法有哪些?
    关于为什么使用React新特性Hook的一些实践与浅见
    js 设计模式:观察者和发布订阅模式
    easyUI dataGrid主从表点击展开问题
    正则表达式
    JS高级---拷贝继承:把一个对象中的属性或者方法直接复制到另一个对象中
    vue-element-admin框架快速入门
  • 原文地址:https://www.cnblogs.com/dreamHighMjc/p/15078664.html
Copyright © 2011-2022 走看看