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

安阳市网站建设_网站建设公司_建站流程_seo优化

唐山房地产网站建设,邢台市路桥建设总公司网站,如何查看网站的访问量,免费com域名注册网站博主前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住也分享一下给大家 #x1f449;点击跳转到教程 Android OkHttp源码阅读详解一 看OkHttp源码#xff0c;发现OkHttp里面使用了责任链设计模式#xff0c;所以才要学习… 博主前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住也分享一下给大家 点击跳转到教程 Android OkHttp源码阅读详解一 看OkHttp源码发现OkHttp里面使用了责任链设计模式所以才要学习责任链设计模式 小节2 最终会返回Response Response getResponseWithInterceptorChain() throws IOException {// Build a full stack of interceptors.ListInterceptor interceptors new ArrayList();interceptors.addAll(client.interceptors());interceptors.add(retryAndFollowUpInterceptor);interceptors.add(new BridgeInterceptor(client.cookieJar()));interceptors.add(new CacheInterceptor(client.internalCache()));interceptors.add(new ConnectInterceptor(client));if (!forWebSocket) {interceptors.addAll(client.networkInterceptors());}interceptors.add(new CallServerInterceptor(forWebSocket));Interceptor.Chain chain new RealInterceptorChain(interceptors, null, null, null, 0,originalRequest, this, eventListener, client.connectTimeoutMillis(),client.readTimeoutMillis(), client.writeTimeoutMillis());return chain.proceed(originalRequest);}chain包下的案例 熟悉责任链模式 chain2包下的案例 对应OkHttp源码中的责任链模式getResponseWithInterceptorChain()阅读OkHttp源码的总结 1.OSI七层模型TCP/IP参考模型HTTP格式 2.我们阅读了OkHttp源码的主线流程 3.我们阅读了OkHttp源码缓存方案的线程池 4.我们阅读了OkHttp源码发现了构建者设计模式责任链模式一、首先写一个案例熟悉责任链模式 1、定义一个抽象类BaseTask public abstract class BaseTask {//判断当前任务节点有没有能力执行private boolean isTask;public BaseTask(boolean isTask) {this.isTask isTask;}//执行下一个节点private BaseTask nextTask; //t2,t3//添加下一个节点任务public void addNextTask(BaseTask nextTask) {this.nextTask nextTask;}//让子节点任务去完成的public abstract void doActon();//动作public void action() { //t1false t2false,t3trueif (isTask) {doActon(); //执行子节点 链条就断了} else {//继续执行下一个任务节点if (nextTask ! null) {nextTask.action();}}} }2、定义四个Task类都继承自BaseTask这里只写一个其它三个同理 public class Task1 extends BaseTask {public Task1(boolean isTask) {super(isTask);}Overridepublic void doActon() {//执行子节点System.out.println(Task1 任务节点一 执行了);} }3、定一个Test类进行测试 public class Test {public static void main(String[] args) {Task1 task1 new Task1(false);Task2 task2 new Task2(false);Task3 task3 new Task3(true);Task4 task4 new Task4(false);task1.addNextTask(task2);task2.addNextTask(task3);task3.addNextTask(task4);//执行第一个任务节点task1.action();} }输出结果 Task3 任务节点三 执行了二、写一个案例熟悉责任链模式对应OkHttp源码中的责任链模式getResponseWithInterceptorChain() 1.首先定义一个接口 public interface IBaseTask {/*** param isTask 任务节点是否有人执行* param iBaseTask 下一个任务节点*/void doRunAction(String isTask, IBaseTask iBaseTask); }2.定义一个链条管理类ChainManager public class ChainManager implements IBaseTask {private ListIBaseTask mIBaseTaskList new ArrayList();private int index 0;public void addTask(IBaseTask iBaseTask) {mIBaseTaskList.add(iBaseTask);}Overridepublic void doRunAction(String isTask, IBaseTask iBaseTask) {if (mIBaseTaskList.isEmpty()) {//抛出异常return;}if (index mIBaseTaskList.size()) {return;}IBaseTask iBaseTaskResult mIBaseTaskList.get(index);//t1index;iBaseTaskResult.doRunAction(isTask, iBaseTask);} }3.定义三个Task1Task2Task3 public class Task1 implements IBaseTask {Overridepublic void doRunAction(String isTask, IBaseTask iBaseTask) {if (no.equals(isTask)) {System.out.println(拦截器任务节点1 处理了...);return;} else {iBaseTask.doRunAction(isTask, iBaseTask);}} } public class Task2 implements IBaseTask {Overridepublic void doRunAction(String isTask, IBaseTask iBaseTask) {if (ok.equals(isTask)) {System.out.println(拦截器任务节点2 处理了...);return;} else {iBaseTask.doRunAction(isTask, iBaseTask);}} }public class Task3 implements IBaseTask {Overridepublic void doRunAction(String isTask, IBaseTask iBaseTask) {if (no.equals(isTask)) {System.out.println(拦截器任务节点3 处理了...);return;} else {iBaseTask.doRunAction(isTask, iBaseTask);}} }4、定义一个Test类进行测试 public class Test {public static void main(String[] args) {ChainManager chainManager new ChainManager();chainManager.addTask(new Task1());chainManager.addTask(new Task2());chainManager.addTask(new Task3());chainManager.doRunAction(ok, chainManager);} }输出结果如下 拦截器任务节点2 处理了...
http://www.ihoyoo.com/news/35134.html

相关文章:

  • 网站如何建设与优化子目录做网站
  • 做挂件的网站关键词排名优化易下拉技术
  • 教务系统网站开发方法网站建设简单流程图
  • 临海商用高端网站设计新感觉建站wordpress站点的根目录
  • 515ppt网站建设wordpress菜单子分类
  • 如何让百度收录网站团购网站前景
  • 广州建设行业网站世界500强企业排名2022最新名单
  • wordpress底部浮动菜单网站换ip对优化有影响吗
  • 郑州抖音代运营公司seosem推广
  • 网站关键词描述字数购物商城论文
  • 计算机培训中心网站高校网站建设说明书
  • 开源网站代码深圳市宝安区住房和建设局官网
  • 交流建筑的网站seo技术秋蝉
  • 如何模仿一个网站山西省吕梁市天气
  • 知名网站建设公将一个网站拉入黑名单怎么做
  • 网站建设的目标和需求网站布局规划怎么写
  • 企业网站的建设企业广州市住建局官网
  • 西安 医疗网站制作电子商务网站建设的好处有哪些
  • 媒体软文发稿合肥建站公司seo
  • 河南省工程建设信息官方网站网站建设公司哪家好 要上磐石网络
  • 广西灵山县建设局网站网站建设 dw 时间轴
  • 禅城专业网站建设公司大岭山营销型网站建设
  • wordpress php 采集唐山seo排名优化
  • 广州网站建设星珀网站mip怎么做
  • h5自助建站系统网站搭建后如何使用
  • wordpress 全站不刷新wordpress 备份 还原
  • 有关毕业设计的网站黄山旅游最佳路线安排
  • 教育学校网站源码 php设计师网站兼职
  • 舟山市住房和城乡建设局网站怎么宣传自己的产品
  • 河北建设厅录入业绩的网站wordpress preg_replace 关键词 alt