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

网站统计帮哪个好一站式服务图片

网站统计帮哪个好,一站式服务图片,国外网站 网速慢,如何更换网站服务商代理模式 代理模式是一种结构型设计模式#xff0c;它提供了一种替代访问的方法#xff0c;即通过代理对象来间接访问目标对象。代理模式可以在不改变原始类代码的情况下#xff0c;增加额外的功能#xff0c;如权限控制、日志记录等。 静态代理 静态代理是指创建的或特…代理模式 代理模式是一种结构型设计模式它提供了一种替代访问的方法即通过代理对象来间接访问目标对象。代理模式可以在不改变原始类代码的情况下增加额外的功能如权限控制、日志记录等。 静态代理 静态代理是指创建的或特定工具自动生成源代码在程序运行前代理类的.class文件就已经存在了。每个代理类只能为一个接口服务如果需要代理多个接口则需要编写多个代理类这会增加维护成本。 示例房子中介静态代理 // 房屋租赁服务接口 interface HouseLeaseService {void leaseHouse(); }// 真实主题类 - 房东 class Landlord implements HouseLeaseService {public void leaseHouse() {System.out.println(房东: 出租房屋.);} }// 静态代理类 - 中介 class RealEstateAgent implements HouseLeaseService {private Landlord landlord;public RealEstateAgent(Landlord landlord) {this.landlord landlord;}Overridepublic void leaseHouse() {// 增加额外功能例如广告宣传System.out.println(中介: 发布租房信息.);landlord.leaseHouse();// 增加额外功能例如收取中介费System.out.println(中介: 收取中介费用.);} }public class StaticProxyDemo {public static void main(String[] args) {Landlord landlord new Landlord();HouseLeaseService agentService new RealEstateAgent(landlord);agentService.leaseHouse();} }在这个例子中RealEstateAgent作为代理类不仅实现了HouseLeaseService接口还包含了对Landlord对象的操作并在调用前后添加了额外的行为。 – 动态代理 动态代理是在程序运行时动态生成代理类的字节码并加载到JVM中因此不需要提前编写代理类的代码。Java提供了两种主要的动态代理方式JDK动态代理和CGLIB。 JDK动态代理 在JDK动态代理中有两个重要的类Proxy和InvocationHandler类 Proxy Proxy 提供用于创建动态代理类和实例的静态方法它还是由这些方法创建的所有动态代理类的超类。 InvocationHandler类 InvocationHandler 是代理实例的调用处理程序 实现的接口。 每个代理实例都具有一个关联的调用处理程序。对代理实例调用方法时将对方法调用进行编码并将其指派到它的调用处理程序的 invoke 方法。 代码示例 首先我们定义一个实现了InvocationHandler接口的处理器类ProxyInvocationHandler 它负责封装中介的具体业务逻辑。 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy;// 房屋租赁服务接口 interface HouseLeaseService {void leaseHouse(); }// 真实主题类 - 房东 class Landlord implements HouseLeaseService {public void leaseHouse() {System.out.println(房东: 出租房屋.);} }// 实现InvocationHandler接口的处理器类 - 中介 class ProxyInvocationHandler implements InvocationHandler {private final Object target;public ProxyInvocationHandler(Object target) {this.target target; }Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {// 在调用真实方法之前可以做一些额外的工作System.out.println(中介: 发布租房信息.);// 调用目标对象的方法Object result method.invoke(target, args);// 在调用真实方法之后也可以做一些额外的工作System.out.println(中介: 收取中介费用.);return result;} }public class JdkProxyDemo {public static void main(String[] args) {// 创建真实房东对象Landlord landlord new Landlord();// 创建动态代理实例HouseLeaseService proxyInstance (HouseLeaseService) Proxy.newProxyInstance(landlord.getClass().getClassLoader(),landlord.getClass().getInterfaces(),new ProxyInvocationHandler(landlord));// 通过代理实例调用方法proxyInstance.leaseHouse();} }JDK动态代理与CGLIB动态代理的区别 特性JDK 动态代理CGLIB 动态代理实现方式只能代理实现了接口的类基于接口通过生成目标类的子类进行代理基于继承代理类- Proxy- Invocation Handler- Enhancer- Method Interceptor核心机制使用反射调用目标方法通过ASM字节码生成目标类的子类重写方法实现代理性能 (jdk8)在一百万运行次数内性能快了30%左右到五百万运行次数后性能快了将近一倍
http://www.tj-hxxt.cn/news/140958.html

相关文章:

  • 上海专业网站建设信息福建大舟建设集团有限公司 网站
  • 最好的免费网站空间南京美容网站建设
  • 兖州中材建设有限公司网站wordpress怎么选择中文版
  • 大型网站建设优化企业招聘网站建设与开发要求
  • 网站做区块链然后往里面投钱精美ppt模板下载
  • 建设的基本流程网站北京做网站电话
  • 商业网站的规划和设计石家庄百度关键词优化
  • 免费素材哪个网站比较好电子商务网站建设的基本要素
  • 喀什建设局网站济南网络品牌推广
  • 注册网站页面跳转错误php网站超市
  • 网站免费网站免费麻豆文章类网站程序
  • 建站开发网站漂浮特效
  • 怎么把别人网站的tag写上自己的台州企业网站建设公司
  • 游戏租号网站开发wordpress 禁用功能
  • 飞沐网站建设建设一个网站报价
  • 北京网站推广服务网站登录到wordpress
  • 网站建设方案设计心得三门峡做网站
  • 甘肃省建设部网站首页公司网站怎么突然多了好多友情链接如何删除
  • 网站seo入门app界面设计模板一套
  • 深圳营销型网站建设价格深圳优定软件网站建设
  • 企业网站群建设的原因西安免费信息推广平台
  • 丽水市做网站的网站搭建环境
  • 建设工程有限公司企业网站wordpress国产定制主题
  • 营销网站的渠道构成基本包括重庆市建设工程施工安全网
  • 网站开发合同中的知识产权条款微信咋做自己的网站
  • a00000网站建设丽丽网页翻译怎么弄
  • 采集类淘宝客网站怎么做直播app开发要多少钱
  • 南昌装修公司google seo优化
  • 和别人做网站接单赚钱常德哪里有做网站
  • 鲜花网站模板下载中国交通建设集团官方网站