zoukankan      html  css  js  c++  java
  • Java动态代理

    一、什么是动态代理?

      首先我们想想什么是代理?比如在现实生活中老板出差在外,不能自己在公司做某件事,就请自己的秘书”代理“。在程序里”代理“的意思是原本是类A干的事,但是因为某种原因不方便亲自执行,而是通过类B来执行自己的职责,类B并不是完全的类A,它只是调用了类A的某执行方法,正如秘书代理老板做事其实是调用了老板的某项权力。

      代码实现:在代理类的构造函数里传入真实对象,然后真实对象就可以在代理类调用自己的方法,从而实现代理,这就是代理的思想。我们从外部看动作就像是代理类实现的,其实还是真实对象实现的。

      代理分静态代理和动态代理。静态代理是由程序员自己创建源代码再编译,在运行前就已经固定了能代理的真实对象的类型,所以当有很多不同类型的真是对象要被代理时,程序员就要针对不同类型的真是对象创建不同的代理类,这显然是很麻烦的;

      而动态代理则是通过java的反射机制,在程序运行时动态地获取类型信息,实现动态代理的。

    二、动态代理的实现:

      

      

  • 相关阅读:
    03-Tomcat服务器
    02-Http请求与响应全解
    01-Web客户端与服务器详解
    JavaScript高级程序设计31.pdf
    JavaScript高级程序设计30.pdf
    JavaScript高级程序设计29.pdf
    JavaScript高级程序设计28.pdf
    JavaScript高级程序设计27.pdf
    JavaScript高级程序设计26.pdf
    JavaScript高级程序设计25.pdf
  • 原文地址:https://www.cnblogs.com/wangerxiansheng/p/4157883.html
Copyright © 2011-2022 走看看