当前位置: 首页 > news >正文

建个地方门户网站要多少钱获取网站浏览者手机号

建个地方门户网站要多少钱,获取网站浏览者手机号,北京市住房城乡建设厅网站首页,企业门户网站开发java动态代理代理是一种设计模式。 当我们想添加或修改现有类的某些功能时#xff0c;我们创建并使用代理对象。 使用代理对象而不是原始对象。 通常#xff0c;代理对象具有与原始对象相同的方法#xff0c;并且在Java代理类中#xff0c;通常会extend原始类。 代理具有原… java动态代理 代理是一种设计模式。 当我们想添加或修改现有类的某些功能时我们创建并使用代理对象。 使用代理对象而不是原始对象。 通常代理对象具有与原始对象相同的方法并且在Java代理类中通常会extend原始类。 代理具有原始对象的句柄并可以在该对象上调用方法。 这样代理类可以以便捷的方式实现许多事情 在方法开始和停止时记录 对参数进行额外检查 嘲笑原始类的行为 实现对昂贵资源的懒惰访问 无需修改该类的原始代码。 以上列表并不广泛仅是示例。 在实际应用中代理类不会直接实现功能。 遵循单责任原则代理类仅进行代理并且实际的行为修改在处理程序中实现。 当调用代理对象而不是原始对象时代理将决定是否必须调用原始方法或某些处理程序。 处理程序可以执行其任务也可以调用原始方法。 即使代理模式不仅适用于在运行时创建代理对象和代理Cass的情况但这在Java中也是一个特别有趣的话题。 在本文中我将重点介绍这些代理。 这是一个高级主题因为它需要使用反射类或者字节代码操作或编译动态生成的Java代码。 或所有这些。 要使新类在运行时还不能用作字节码将需要生成字节码并需要一个用于加载字节码的类加载器。 要创建字节码可以使用cglib或bytebuddy或内置的Java编译器。 当我们考虑代理类及其调用的处理程序时我们可以理解为什么在这种情况下责任分离很重要。 代理类是在运行时生成的但是可以将代理类调用的处理程序编码为常规源代码并沿着整个程序的代码进行编译编译时。 最简单的方法是使用java.lang.reflect.Proxy类它是JDK的一部分。 该类可以创建一个代理类或直接创建它的一个实例。 Java内置代理的使用很容易。 您需要做的就是实现一个java.lang.InvocationHandler以便代理对象可以调用它。 InvocationHandler接口非常简单。 它仅包含一个方法 invoke() 。 invoke() 参数包含被代理的原始对象被调用的方法作为反射Method对象和原始参数的对象数组。 示例代码演示了用法 package proxy;import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Proxy;public class JdkProxyDemo {interface If {void originalMethod(String s);}static class Original implements If {public void originalMethod(String s) {System.out.println(s);}}static class Handler implements InvocationHandler {private final If original;public Handler(If original) {this.original original;}public Object invoke(Object proxy, Method method, Object[] args)throws IllegalAccessException, IllegalArgumentException,InvocationTargetException {System.out.println(BEFORE);method.invoke(original, args);System.out.println(AFTER);return null;}}public static void main(String[] args){Original original new Original();Handler handler new Handler(original);If f (If) Proxy.newProxyInstance(If.class.getClassLoader(),new Class[] { If.class },handler);f.originalMethod(Hallo);}} 如果处理程序想要在原始对象上调用原始方法则它必须有权访问它。 Java代理实现未提供此功能。 您必须自己在代码中将此参数传递给处理程序实例。 请注意有一个通常称为proxy的对象作为参数传递给调用处理程序。这是Java反射动态生成的代理对象而不是我们要代理的对象。这样您绝对可以使用单独的对象每个原始类的处理程序对象或者使用某种共享对象这些共享对象恰好知道某种方式如果有任何要调用的方法来调用哪个原始对象。 作为一种特殊情况您可以创建一个调用处理程序和一个没有任何原始对象的接口的代理。 甚至不需要任何类来实现源代码中的接口。 动态创建的代理类将实现该接口。 如果要代理的类未实现接口该怎么办 在这种情况下您必须使用其他代理实现。 我们将在下周讨论一下。 翻译自: https://www.javacodegeeks.com/2016/01/java-dynamic-proxy.htmljava动态代理
http://www.yutouwan.com/news/395515/

相关文章:

  • dw建网站怎么做wordpress o2o
  • 前端开发和网站建设ai智能写作网站
  • jsp网站开发环境搭建怎么做像表白墙的网站
  • 手机端网站 优帮云做网站的公司
  • 建设通网站原理动画设计培训中心
  • 广州新塘做网站flash网站整站下载
  • 萍乡网站推广湘潭正规seo优化
  • 计算机网站开发书籍郑州网络推广哪个好
  • 网站系统使用手册手机app页面设计
  • 自己做的网站怎么传到服务器用代码怎么建设网站
  • 执法网站建设方案wordpress用什么图床好
  • 做网站要用框架吗德州万企网站建设
  • 企业网站建设818gx在线做效果图的网站
  • 学做面包网站网络设计软件有哪些
  • 做母亲节网站的素材网页搭建工具
  • 玛迪做网站平面设计专业就业前景
  • 怎么建手机网站平台太原网页设计招聘
  • 福建整站优化群晖wordpress 月穿
  • 网站开发PHP招聘设计师培训学费
  • 免费承接网站建设夏朝是谁建立的
  • 厦门网站推广昆明网站营销
  • 能建网站的app秦皇岛市第一中学
  • 建设游戏运营网站开展工作内容没有网站如何做cpa
  • 母婴网站设计分析中企动力科技是干嘛的
  • 无锡网站建设企业青海省建设监理协会网站
  • 建设信用卡在网站挂失几步台州网站建设惠店科技
  • 网站制作语言有哪些手机网站建设软件
  • 免费网站模板 html注册一个商标多少钱
  • 建设厅网站174号文网站建设上传服务器步骤
  • 大连网站设计培训班企业邮箱怎么注册的