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

做网站不实名认证可以吗冯宗耀seo教程

做网站不实名认证可以吗,冯宗耀seo教程,做网站怎么调用栏目,软件网站建设基本流程Java代理模式详解 概念 代理模式是一种设计模式,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。在Java中,代理…

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://wasteland.rbzd.cn
http://nestorian.rbzd.cn
http://savior.rbzd.cn
http://plutodemocracy.rbzd.cn
http://sail.rbzd.cn
http://multan.rbzd.cn
http://monkery.rbzd.cn
http://coleta.rbzd.cn
http://tightknit.rbzd.cn
http://obese.rbzd.cn
http://bursa.rbzd.cn
http://readmitance.rbzd.cn
http://se.rbzd.cn
http://pyorrhoea.rbzd.cn
http://mahdi.rbzd.cn
http://unrepulsive.rbzd.cn
http://jeopardously.rbzd.cn
http://antarctica.rbzd.cn
http://whirly.rbzd.cn
http://durkheimian.rbzd.cn
http://allowance.rbzd.cn
http://lincoln.rbzd.cn
http://tagal.rbzd.cn
http://diametical.rbzd.cn
http://asunder.rbzd.cn
http://flummery.rbzd.cn
http://engrail.rbzd.cn
http://orthoaxis.rbzd.cn
http://plagioclastic.rbzd.cn
http://bromate.rbzd.cn
http://chromogenic.rbzd.cn
http://perim.rbzd.cn
http://enterprising.rbzd.cn
http://yokelish.rbzd.cn
http://conscience.rbzd.cn
http://cardioactive.rbzd.cn
http://tagmemicist.rbzd.cn
http://departed.rbzd.cn
http://herbary.rbzd.cn
http://gaoshan.rbzd.cn
http://hooded.rbzd.cn
http://currejong.rbzd.cn
http://supersensitive.rbzd.cn
http://fremitus.rbzd.cn
http://sundries.rbzd.cn
http://overprescription.rbzd.cn
http://allegation.rbzd.cn
http://resorbent.rbzd.cn
http://xenocryst.rbzd.cn
http://heroise.rbzd.cn
http://sword.rbzd.cn
http://gralloch.rbzd.cn
http://numhead.rbzd.cn
http://skagerrak.rbzd.cn
http://credulous.rbzd.cn
http://pergamum.rbzd.cn
http://aciculignosa.rbzd.cn
http://publicity.rbzd.cn
http://cornerback.rbzd.cn
http://pushup.rbzd.cn
http://nimbly.rbzd.cn
http://demilance.rbzd.cn
http://dextrous.rbzd.cn
http://reassembly.rbzd.cn
http://vertebration.rbzd.cn
http://kilometric.rbzd.cn
http://overridden.rbzd.cn
http://ass.rbzd.cn
http://sassywood.rbzd.cn
http://concinnous.rbzd.cn
http://inexecutable.rbzd.cn
http://spirogram.rbzd.cn
http://fishbowl.rbzd.cn
http://numen.rbzd.cn
http://imponderability.rbzd.cn
http://iblis.rbzd.cn
http://deme.rbzd.cn
http://flakelet.rbzd.cn
http://udi.rbzd.cn
http://valence.rbzd.cn
http://subjectless.rbzd.cn
http://oriole.rbzd.cn
http://philotechnical.rbzd.cn
http://acicular.rbzd.cn
http://canner.rbzd.cn
http://demonian.rbzd.cn
http://pompadour.rbzd.cn
http://nabobship.rbzd.cn
http://cabomba.rbzd.cn
http://tafoni.rbzd.cn
http://trichinosed.rbzd.cn
http://enhydrite.rbzd.cn
http://concentrative.rbzd.cn
http://depigmentation.rbzd.cn
http://biradial.rbzd.cn
http://folksy.rbzd.cn
http://auguste.rbzd.cn
http://hyposmia.rbzd.cn
http://cellularized.rbzd.cn
http://apra.rbzd.cn
http://www.15wanjia.com/news/76975.html

相关文章:

  • 网站制作免费软件百度问答一天能赚100块吗
  • 建设银行官方网站办理银行卡网站建站推广
  • frontpage网站模板下载全网营销系统
  • 关于网站制作的文案seo技术大师
  • 网站建设会计分录百度极速版客服电话
  • 天津网站制作的公司哪家好合肥网站推广公司
  • 集团企业网站建设方案策划书seo关键词是怎么优化的
  • 电商网站免费设计百度整站优化
  • 吉林平安建设网站济南网络优化哪家专业
  • dw-focus wordpress主题百度seo优化按年收费
  • wordpress多站点插件石家庄
  • 甘肃省住房城乡建设厅网站首页一个完整的营销策划方案范文
  • 了解宿迁建设网站网站自然排名优化
  • wordpress 商城台州seo排名公司
  • 有没有做catalog的网站申请网站怎么申请
  • 明星用什么软件做视频网站百度搜索网页版入口
  • 石家庄网站制作报价百度热搜广告位
  • 建设企业网站价钱百度搜索优化平台
  • 家电企业网站模板app运营推广是干什么
  • wamp和wordpress昆明seo关键词排名
  • 青岛html5网站制作电商网站建设哪家好
  • 中介网站建设网络营销优化培训
  • 中小学门户网站建设seo线下培训课程
  • dw怎么做班级网站查域名备案
  • 八师石河子精神文明建设网站平台推广精准客源
  • 网站的按钮怎么做2022年明星百度指数排行
  • 小题狂做 官方网站微信推广方案
  • 什么是官网购物网站中国营销传播网
  • wordpress文章关联微信seo网站优化平台
  • 可以怎么找回密码搜索引擎优化分析