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

团购网站推广怎么做崇左网页设计

团购网站推广怎么做,崇左网页设计,自动发外链工具,佛山搜索引擎优化Java代理模式详解 概念 代理模式是一种设计模式#xff0c;为其他对象提供一种代理以控制对这个对象的访问。在某些情况下#xff0c;一个对象不适合或者不能直接引用另一个对象#xff0c;而代理对象可以在客户端和目标对象之间起到中介的作用。在Java中#xff0c;代理…Java代理模式详解 概念 代理模式是一种设计模式为其他对象提供一种代理以控制对这个对象的访问。在某些情况下一个对象不适合或者不能直接引用另一个对象而代理对象可以在客户端和目标对象之间起到中介的作用。在Java中代理模式主要分为静态代理和动态代理。 静态代理 静态代理是在编译时就已经确定好代理类要代理谁。在静态代理中我们创建一个代理类来实现与目标对象相同的接口并在代理类中维护一个目标对象的引用。当客户端调用代理类的方法时实际上是通过代理类间接地调用目标对象的方法。 示例 假设我们有一个接口Subject和一个实现类RealSubject public interface Subject {void request(); }public class RealSubject implements Subject {Overridepublic void request() {System.out.println(RealSubject: Handling request.);} }接下来我们创建一个代理类ProxySubject它实现了Subject接口并持有一个RealSubject的实例 public class ProxySubject implements Subject {private RealSubject realSubject;public ProxySubject() {this.realSubject new RealSubject();}Overridepublic void request() {preRequest();realSubject.request();postRequest();}private void preRequest() {System.out.println(ProxySubject: Preparing request.);}private void postRequest() {System.out.println(ProxySubject: Request completed.);} }在ProxySubject中我们在调用realSubject.request()之前和之后分别执行了一些额外的操作。这就是静态代理的一个典型用法在目标方法执行前后插入额外的逻辑。 动态代理 动态代理与静态代理的主要区别在于动态代理是在运行时动态地生成代理类。在Java中我们可以通过java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口来实现动态代理。 示例 首先我们定义一个InvocationHandler的实现 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy;public class DynamicProxyHandler implements InvocationHandler {private Object target;public DynamicProxyHandler(Object target) {this.target target;}Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {preRequest();Object result method.invoke(target, args);postRequest();return result;}private void preRequest() {System.out.println(DynamicProxyHandler: Preparing request.);}private void postRequest() {System.out.println(DynamicProxyHandler: Request completed.);}public static Object newInstance(Object target) {return Proxy.newProxyInstance(target.getClass().getClassLoader(),target.getClass().getInterfaces(),new DynamicProxyHandler(target));} }然后我们可以这样使用动态代理 Subject realSubject new RealSubject(); Subject proxySubject (Subject) DynamicProxyHandler.newInstance(realSubject); proxySubject.request();这段代码首先创建了一个RealSubject实例然后通过DynamicProxyHandler.newInstance()方法创建了一个代理对象。当我们调用proxySubject.request()时实际上会调用DynamicProxyHandler中的invoke()方法从而实现在目标方法执行前后插入额外的逻辑。 总结 代理模式在Java中主要有两种实现方式静态代理和动态代理。静态代理在编译时就已经确定好代理类要代理谁而动态代理则可以在运行时动态地生成代理类。这两种方式都可以实现在目标方法执行前后插入额外的逻辑但动态代理更加灵活和强大。
http://www.hkea.cn/news/14284482/

相关文章:

  • ic外贸网站建设wordpress侧边栏添加分类
  • 如何做企业套模网站网站外链发布平台
  • 云南网站公司新乡个人网站建设价格
  • 网站前置审批项 教育wordpress保护插件
  • seo整站优化服务教程建筑模板厂家哪里多
  • 自助建站网站的宣传手册企业微信官网
  • 用记事本做网站wordpress目录分页怎么弄
  • 做网站是如何实施的wordpress视频无法播放视频教程
  • 上市公司的信息网站网站升级页面模板
  • 西斗门的网站建设品牌推广语
  • 南京市玄武区建设局网站高端的食品行业网站开发
  • 百度网站下拉排名婺源做微信网站
  • 文网站建设费用计入什么科目爱站网关键词查询网站的工具
  • 做网站运营的股票国家建设工程安全质量监督网站
  • 徐州 商城网站广告设计制作服务方案
  • 青州建设局网站在网上怎么做推广
  • 网站建设费用推荐网络和初中生做视频网站
  • 做分销微商城网站上海黄页企业名录
  • 做推广的网站带宽需要多少wordpress找回密碼
  • 东莞企业推广网站遵义 网站建设
  • 杭州网站推广与优化软件开发过程中存在哪些问题
  • 网站后台上传新闻企业门户网站建设教程
  • 郑州最牛的网站开发公司电脑版qq手机登录网页登录入口
  • wordpress扒站工具建设银行网站无法访问
  • 沧州免费网站建设有哪些公司的网站做的比较好
  • 成都网站建设及推广seo图片
  • 中国十大网站域名专业网站策划
  • 山西自助建站系统怎么用网站的功能建设方案
  • 装修设计网站排行榜前十名wordpress 爆破
  • 刘涛做代言的那个网站怎么用nas做网站服务器