【JAVA】-调用链设计demo

  • 1-JAVA链式调用
    • 1-1 执行链
    • 1-2 执行者
    • 1-3 程序调用者,执行链的主要实现
    • 1-4 程序调用者,执行链的主要实现

1-JAVA链式调用

1-1 执行链

主要作用是执行

public interface ExectorChain {void execute();
}

1-2 执行者

执行链上的元素,主要是执行动作的具体实现

public interface Executor{void execute(ExectorChain chain);
}

1-3 程序调用者,执行链的主要实现

public  class DefaultExectorChain implements ExectorChain {private final List<Executor> ExecutorList = new LinkedList();private int position;public int getPosition() {return position;}public void setPosition(int position) {this.position = position;}public void addExecutor(Executor executor) {ExecutorList.add(executor);}@Overridepublic void execute() {while (position < this.ExecutorList.size()) {Executor executor = ExecutorList.get(position);position = position + 1;executor.execute(this);}}public static void main(String[] args) {DefaultExectorChain chain = new DefaultExectorChain();chain.addExecutor(new Executor1());chain.addExecutor(new Executor2());chain.addExecutor(new Executor3());chain.execute();}
}

1-4 程序调用者,执行链的主要实现

public class Executor1 implements Executor {@Overridepublic void execute(ExectorChain chain) {System.out.println("--------------------Hello World");}
}
public class Executor2 implements Executor {@Overridepublic void execute(ExectorChain chain) {System.out.println("--------------------1111111");}
}
public class Executor3 implements Executor {@Overridepublic void execute(ExectorChain chain) {System.out.println("--------------------2222222");}
}

【JAVA】-调用链设计demo相关推荐

  1. JNI实现Java调用C代码Demo AndroidStudio

    JNI(Java Native Interface)的本意是Java本地调用,它是为了方便java调用C/C++等本地代码所封装的一层接口 Android NDK(Native Development ...

  2. 【web3j】java调用链上合约里的方法

    提前准备infura的链接,链上合约地址,合约里的方法名,钱包私钥(小狐狸插件里点账户地址右边的三个点,再点账户详情就看到了).注:下面的示例调用了两个get方法,传参Uint 一.用到的包 < ...

  3. java 父子线程 调用链_ZipKin原理学习--Zipkin多线程及线程池中追踪一致性问题解决...

    在学习Zipkin分布式追踪系统中我们了解到Trace在整个调用链是一致的,在web服务中可以通过在header设置Trace值在不同的服务中进行传递,那样在一个服务内部不同的线程,甚至是线程池中Zi ...

  4. 网易云信短信接口java,调用网易云短信验证码接口Demo

    最近在开发新的项目,因为需要使用验证码验证这个功能.我选择的是 网易云 的验证码接口.免费使用20条.并且在正式使用的过程中,对比了很多家以后,感觉还是他家的便宜.因为随着你购买的短信包数量的增加,价 ...

  5. Java代码审计——Fastjson TemplatesImpl调用链

    0x00 前言 反序列化总纲 除开jdbc调用链,还有一个TemplatesImpl的调用链,这个在CC链中是出现过的.可以参考:调用链 主要的要点在满以下三个变量 _bytecodes _name ...

  6. java高可用grpc_GRPC java 分布式调用链跟踪实践

    Opentracing基本模型 image.png 如图,在跟踪链中有以下几个比较重要的数据结构和概念: span:标识一次分布式调用,其自身包含了id,parentId(指向上级Span的id), ...

  7. 阿里云 EDAS Java服务日志中打印调用链TraceId

    最近要搭建阿里云的日志服务SLS,收集服务日志,进行统一的搜索查询.但遇到一个问题如何在日志中打印链路的TraceId,本文章记录一下对EDAS免费的解决方法. 先看一下阿里官方文档 业务日志关联调用 ...

  8. 高性能 Java 应用层网关设计实践

    前言 上文我们简单阐述了一下接入层网关的实现原理 不少人对 Java 网关的实现也比较感兴趣,所以这篇文章我们来简单谈谈 Java 应用网关设计,本文将会从以下几个方面来阐述 Java 应用层网关的设 ...

  9. Istio调用链埋点原理剖析—是否真的“零修改”?

    前言 在Istio的实践中最近经常被问到一个问题,使用Istio做调用链用户的业务代码是不是完全0侵入,到底要不要修改业务代码? 看官方介绍: Istio makes it easy to creat ...

最新文章

  1. 微服务架构实践之缓存
  2. 三菱plc232通讯实例_「台达ASDA-B2系列伺服使用手册」第八章 通讯机能
  3. webstom新增vue模板
  4. php 多维数组 array sort 排序 :array_multisort
  5. ITK:侵蚀灰度图像
  6. c语言六角填数答案,【蓝桥杯】第五届-6-六角填数
  7. 《看完它面试必solo | 寻找C站宝藏》
  8. Teams App设备的地理位置能力
  9. 团队作业—预则立他山之石
  10. 仅信用卡大小,性能比TX2强15倍,英伟达边缘AI计算新品Jetson Xavier NX
  11. @scheduled 每30s 执行一次_荣耀30S正式发布:麒麟820 5G SoC/6400万像素AI四摄/40W超级快充...
  12. 74 岁的柳传志和 34 岁的联想
  13. Spring + Ibatis + MySql实例详解
  14. 客户端与服务站《Socket》
  15. 【读书笔记->统计学】05-02 “概率”的整体影响-随机变量的线性变换、独立观测值概念简介
  16. searchview怎么改hint大小_老司机偷偷告诉你:改水电一般多少钱?水电改造价格怎么算?...
  17. 最新版本飞信协议抓包
  18. OpenCV的配置过程和可能遇到的问题
  19. 深入浅出移动直播技术之帧率、码率和分辨率
  20. 华为鸿蒙微波炉,再见EMUI,你好鸿蒙!华为不止做手机

热门文章

  1. js判断浏览器是否是谷歌浏览器
  2. 腾讯微云免费领取一个月会员
  3. Windows响应“网络错误-1326”。
  4. 微信小程序要这样去解读
  5. 航空发动机模型(2)
  6. 618挑选网络电视盒子哪个好?发烧友整理目前最强的电视盒子
  7. 多元函数第二:线性空间(3)线性独立与交换定理
  8. 美通企业日报 | 亚太区企业传播白皮书发布;安踏集团全球零售总部落地上海...
  9. 智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真
  10. ViSP学习笔记(十五):关键点跟踪