retrofit 源码三

前言

上一节讲完后还有一个callAdapterFactory没有细讲.我们先看下这个代码

    val retrofit = Retrofit.Builder()
            .baseUrl("http://localhost/")
            .client(okHttpClient)
            .addConverterFactory(GsonConverterFactory.create())
            .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
            .build()

interface MainNetwork {
    @GET("next_title.json")
    fun fetchNextTitle(): Observable
}
</code></pre> 
 <p>这里我们就用RxJava2CallAdapterFactory来作讲解。</p> 
 <h4>RxJava2CallAdapterFactory</h4> 
 <p>还记得之前的代码么</p> 
 <pre><code>loadServiceMethod(method).invoke(args);
</code></pre> 
 <p>这个invoke最终走的是</p> 
 <pre><code>callAdapter.adapt(call);
</code></pre> 
 <p>这里我们用RxJava2CallAdapter来做分析。</p> 
 <pre><code>final class RxJava2CallAdapter<R> implements CallAdapter<R, Object>{
  @Override
  public Object adapt(Call<R> call) {
    Observable<Response<R>> responseObservable =
        isAsync ? new CallEnqueueObservable<>(call) : new CallExecuteObservable<>(call);

    Observable<?> observable;
    if (isResult) {
      observable = new ResultObservable<>(responseObservable);
    } else if (isBody) {
      observable = new BodyObservable<>(responseObservable);
    } else {
      observable = responseObservable;
    }

    if (scheduler != null) {
      observable = observable.subscribeOn(scheduler);
    }

    if (isFlowable) {
      return observable.toFlowable(BackpressureStrategy.LATEST);
    }
    if (isSingle) {
      return observable.singleOrError();
    }
    if (isMaybe) {
      return observable.singleElement();
    }
    if (isCompletable) {
      return observable.ignoreElements();
    }
    return RxJavaPlugins.onAssembly(observable);//其实就是返回observable
  }
}
</code></pre> 
 <p>从这里可以看出,adapt()方法主要是将返回结果转变为observable,callAdapterFactory就是通过calladapter将原始Call进行封装,找到对应的执行器。如这里就是将Call转为Observable。</p> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1711065667626676224"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(retrofit 源码三)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1833538280327573504.htm"
                           title="面对挫折、迎接挑战、顺势而为" target="_blank">面对挫折、迎接挑战、顺势而为</a>
                        <span class="text-muted">兰花雯静</span>

                        <div>面对挫折、迎接挑战、顺势而为,这是人生中不可避免的三个重要环节。这三个环节相互关联,互为因果,构成了人生中成长、进步的基础。本文将从这三个方面入手,探讨成功的规律,希望能为读者提供一些有益的思路和借鉴。面对挫折是人生中不可避免的一部分。挫折可能来自于各个方面,如工作、学习、家庭、人际关系等等。面对挫折,不同的人会有不同的反应。有些人会选择逃避、放弃,有些人则能够勇敢面对、积极应对。要想从挫折中成长</div>
                    </li>
                    <li><a href="/article/1833538151881207808.htm"
                           title="带爸妈去逛街" target="_blank">带爸妈去逛街</a>
                        <span class="text-muted">纳时花</span>

                        <div>今天终于下定决心给自己放个假,爸妈马上就要回老家了,也难得单独陪他们出门。再三考虑后决定去山师,顺便看看表妹。图片发自App图片发自App高大的银杏树和粗壮的树干把路铺上了一层绿荫,安静的校园,曾经是我向往的学府,那年准备考研到山师,还旁听了半个学期的专业课,最后还是败在了英语和政治上。而表妹没有发挥好竟然轻而易举地考上了化学系。忍不住感叹:智商不如人,情商不如人,如今能比过别人的就只有硬伤了。图</div>
                    </li>
                    <li><a href="/article/1833537413356548096.htm"
                           title="基于php办公用品网上商城的设计与实现(含源文件)" target="_blank">基于php办公用品网上商城的设计与实现(含源文件)</a>
                        <span class="text-muted">设计源码分享</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>欢迎添加微信互相交流学习哦!项目源码:https://gitee.com/oklongmm/biye题目办公用品网上商城的设计与实现摘要办公用品是人们日常生活中必不可少的物品,而且随着时代的发展,现代意义上的办公用品扩展到所有与现代办公相关的商品。传统的办公用品采购方式中存在很多缺点与不足,随着互联网和电子商务的发展,通过网络来销售办公用品的办公用品网上商城有着很大的发展前景。本文介绍了办公用品网</div>
                    </li>
                    <li><a href="/article/1833536762278932480.htm"
                           title="一套专门处理青少年成长教育问题的系统,简称为“3+1+1科学教育系统”" target="_blank">一套专门处理青少年成长教育问题的系统,简称为“3+1+1科学教育系统”</a>
                        <span class="text-muted">萧姝311系统</span>

                        <div>在教育孩子的过程中,很多父母难免会遇到各种各样的麻烦,无从下手,心力交瘁,开始找各种专家和教育机构,那么,你真正的学会了那些所谓的技巧了吗?专业知识的储备要运用到生活当中,面对孩子的教育,不是靠理论和空谈就可以实现科学和正确的理念的,所以,我总结了一套专业又不缺乏实战的系统,该系统中所谓的“3”指的是运用的三大心理学应用板块,分为:教育心理学、认知心理学、人格心理学。在这三个心理学板块当中,从心理</div>
                    </li>
                    <li><a href="/article/1833535620773933056.htm"
                           title="助力“三农”,乡村振兴" target="_blank">助力“三农”,乡村振兴</a>
                        <span class="text-muted">小瓜娃zhai</span>

                        <div>近日,《求是》杂志发表习近平总书记重要文章《坚持把解决好“三农”问题作为全党工作重中之重,举全党全社会之力推动乡村振兴》,文章指出,要真抓实干做好新发展阶段“三农”工作。只有深刻理解了“三农”问题,才能更好理解我们这个党、这个国家、这个民族。乡村振兴的前提是巩固脱贫攻坚成果,要持续抓紧抓好,让脱贫群众生活更上一层楼。要做好“三农”工作必须了解“三农”。所谓“务农重本,国之大纲”。我国本就是农业大国</div>
                    </li>
                    <li><a href="/article/1833535110977253376.htm"
                           title="读书笔记---阻碍财富自由的三大坑" target="_blank">读书笔记---阻碍财富自由的三大坑</a>
                        <span class="text-muted">午夜醉猫</span>

                        <div>亲爱的家人们,大家早安!我们今天要聊的话题是,阻碍财富自由的三大坑:莫名其妙的凑热闹、心急火燎的随大流,以及操碎了别人的心肝。让我们来看看,追求财富自由的我们,是否就在自己还不知情的时候,已经蹲在哪个坑里了。听过这么一个笑话吗?大街上有小伙昂首望天,有好奇的人走到他身边,也抬头寻找,接着是第二个,第三个……直到流鼻血的小伙低下头,莫名其妙的发现身边已经围了一群抬头望天的人。现在流行上网,那比街上有</div>
                    </li>
                    <li><a href="/article/1833535109651853312.htm"
                           title="竞选发言" target="_blank">竞选发言</a>
                        <span class="text-muted">x秀丽x</span>

                        <div>坚持星球的各位班委们大家早上好,我非常开心班主任为我们提供了这么一个学习的平台,让我们在这里不断成长。我是徐秀丽,徐是双人加一个余字,一共有三个人,代表三人行必有我师焉,要虚心向别人学习。秀是优秀的秀,丽是美丽的丽,愿大家都能变得更优秀,过上美丽人生。我这次竞选的只是4组的组长。我为什么要参加竞选呢有两个原因1,在一个群内如果自己不参与其中,慢慢的这个群就会失去了它的意义,群就会变成死群,自己也就</div>
                    </li>
                    <li><a href="/article/1833534257650298880.htm"
                           title="计算机网络安装与调试题,计算机三级《网络技术》练习题及答案:无线局域网设备安装与调试..." target="_blank">计算机网络安装与调试题,计算机三级《网络技术》练习题及答案:无线局域网设备安装与调试...</a>
                        <span class="text-muted">曲陌柘凝</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E5%AE%89%E8%A3%85%E4%B8%8E%E8%B0%83%E8%AF%95%E9%A2%98/1.htm">计算机网络安装与调试题</a>
                        <div>计算机三级《网络技术》练习题及答案:无线局域网设备安装与调试1[单选题]一个APRN覆盖的区域答为一个小区,一个小区的室内与室外覆盖范围分别是()A.30,150B.30,50C.30.500D.50.150参考答案:A2[单选题]某家庭需要通过无线局域网将分布在不同房间的三台计算机接入Internet,并且ISP只给其分配一个IP地址。在这种情况下,应该选用的设备是()A.APB.无线路由器C.</div>
                    </li>
                    <li><a href="/article/1833533583831166976.htm"
                           title="2022-4-21晨间日记" target="_blank">2022-4-21晨间日记</a>
                        <span class="text-muted">新源点</span>

                        <div>今天是周四起床:6.40就寝:12.0天气:晴心情:一般纪念日:无任务清单昨日完成的任务,最重要的三件事:健身,日记,练字改进:脾气习惯养成:不错学习·信息·阅读已读完书健康·饮食·锻炼健身40分,饮食正常人际·家人·朋友无工作·思考无最美好的三件事1.做核酸,2.睡觉3.无压力思考·创意·未来休息五天</div>
                    </li>
                    <li><a href="/article/1833533198718562304.htm"
                           title="你可还好?" target="_blank">你可还好?</a>
                        <span class="text-muted">我在时光深处等你</span>

                        <div>你可还好?听着徐佳莹的《寻人启事》,翻看过往的纪录和照片,在这个世界中我已消失很久。三个月,这三个月我就像人间蒸发了一样。不曾与朋友联络,不曾与家人通讯,我怕,我怕自己会淘汰,怕自己忍不住面对朋友的关心,面对家人的问候,一时情绪失控。面对如此快节奏却又效率低流程繁琐的工作,我被人质疑,被人批,被刁难,我不知道是什么原因,整个公司的氛围总是喜欢刁别人。三个月内,我心理奔溃了不下三次,找朋友聊,找领导</div>
                    </li>
                    <li><a href="/article/1833532494876602368.htm"
                           title="第4章 MyBatis的关联映射和缓存机制" target="_blank">第4章 MyBatis的关联映射和缓存机制</a>
                        <span class="text-muted">小猪宝宝哦</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>目录/Contents第4章MyBatis的关联映射和缓存机制学习目标了解数据表之间的三种关联关系了解对象之间的三种关系熟悉关联关系中的嵌套查询和嵌套结果掌握一对一关联映射掌握一对多关联映射掌握多对多关联映射熟悉Mybatis的缓存机制学习内容1关联映射概述1.1关联映射关系1.1.1一对一关系1.1.2一对多关系1.1.3多对多关系1.2Java对象如何描述事物之间的关系1.3Java对象关联映</div>
                    </li>
                    <li><a href="/article/1833532308322349056.htm"
                           title="今日宝箱之兔子先生 麦克" target="_blank">今日宝箱之兔子先生 麦克</a>
                        <span class="text-muted">i夜闻</span>

                        <div>41/90农历七月十八图片发自App图片发自App背景介绍兔子先生麦克今年三周岁了,是兔子高级学堂里的一名学生,生活在繁荣昌盛的兔子王国里,接下来讲述的是兔子先生麦克曾经在校园里的一些趣事。兔子先生麦克的异性情缘。新学期开始了,麦克来到了教室,开始了新一轮的学习,课间活动的时候,看到别的情侣伙伴,含情脉脉,卿卿我我,内心甚是煎熬,和愤怒,并心想自己也要寻找一位如意伴侣。自那次暗暗下定决心后,麦克每</div>
                    </li>
                    <li><a href="/article/1833531536406835200.htm"
                           title="泪光闪闪 / 夏川里美" target="_blank">泪光闪闪 / 夏川里美</a>
                        <span class="text-muted">唯闻音乐</span>

                        <div>夏川里美-淚光閃閃(涙そうそう)三弦,十五世纪左右渐渐从中国流传入日本冲绳,后改良流传至日本各地,名叫三味线,成为日本最重要的乐器之一。清冷的音色,透着一股悲凉而又隐忍的味道。森山良子为纪念已逝的哥哥而作的诗,后由“冲绳歌神”BEGIN谱曲而成《泪光闪闪》。夏川里美的版本最为流传。该曲收录于2001年发行的专辑《太阳·风的思念》中。夏川里美以其浓浓的特殊鼻音唱腔搭配传统的乐器三味线,温柔地道出这首</div>
                    </li>
                    <li><a href="/article/1833530477810642944.htm"
                           title="计算机三级网络技术总结 第八章无线局域网设备安装与调试" target="_blank">计算机三级网络技术总结 第八章无线局域网设备安装与调试</a>
                        <span class="text-muted">数学难</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>IEEE802.11最初定义的三个物理层包括了两个扩频技术和一个红外传播规范,无线传输的频道定义在2.4GHz的ISM波段内IEEE802.11无线标准定义的传输速度是1Mbps和2Mbps,可以使用FHSS和DSSS技术IEEE802.11在MAC层上引入了一个新的RTS/CTS选项点对点模式是指无线网卡和无线网卡之间的通讯方式在点对点模式中最多可连接256台PC基本模式是无线和有线网络并存的通</div>
                    </li>
                    <li><a href="/article/1833529874929774592.htm"
                           title="全面推进乡村振兴 加快建设农业强国" target="_blank">全面推进乡村振兴 加快建设农业强国</a>
                        <span class="text-muted">庄生晓梦L</span>

                        <div>“强国必先强农,农强方能国强”,21世纪以来第20个指导“三农”工作的中央一号文件于2月13日发布。文件指出全面建设社会主义现代化国家必须坚持不懈把解决好“三农”问题作为全党工作重中之重,举全党全社会之力全面推进乡村振兴,加快农业农村现代化。作为一名乡镇组工干部,应深入贯彻落实习近平总书记关于“三农”工作的重要论述,党建引领助推乡村振兴不断取得新进展,铆足干劲推动建设农业强国开好局起好步。仓廪实,</div>
                    </li>
                    <li><a href="/article/1833528607297859584.htm"
                           title="第三课《正面管教》" target="_blank">第三课《正面管教》</a>
                        <span class="text-muted">索索菲亚</span>

                        <div>图片发自App【191117】第三次正面管教分享与回顾,前面两节课第1节课讲的内容,青春期孩子的秘密,自己的生活态度吧,还有一个出生顺序人生的大戏。最让我疗愈的是第6个活动是童年回忆,我的回忆是5岁的时候,我不怎么愿意走路,因为那时候我是独女,我外婆外公出门都是抱着我的,然后有一次就是外婆喂猪的时候就要把我放在地上,我就一直拉着她,最后她没办法,只能一只手抱着我,一只手喂猪,我真是个受宠的小公主。</div>
                    </li>
                    <li><a href="/article/1833527718596145152.htm"
                           title="励言赋词0176天" target="_blank">励言赋词0176天</a>
                        <span class="text-muted">星言师</span>

                        <div>励言赋词0176天(2016年7月6日):1、久逢讲台有点思维扩散,首先跟学员讲关机(不能是飞行模式、无声振动状态),可一堂2小时的课程下来,依然有12%的人未能做到,理由很多;其次强调这样的培训未必有效果,因为不是一对一的实践培训,每个人的悟性不同,实际上也确实如此;第三强调着培训不一定很幽默,毕竟我不是来搞笑的,但恰恰是枯燥的内容更能让人记住;第四讲师也必须不断地讲,往往只是一个道理,只要讲上</div>
                    </li>
                    <li><a href="/article/1833525941167550464.htm"
                           title="PHP与出库单打印预览,包含下载与打印功能" target="_blank">PHP与出库单打印预览,包含下载与打印功能</a>
                        <span class="text-muted">assasinSteven</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/PHP%E6%89%93%E5%8D%B0%E9%A2%84%E8%A7%88/1.htm">PHP打印预览</a>
                        <div>咱们的开发语言还是用框架:laravel5。应用场景出库单打印出三色单,这个很普遍,以下用PHP来实现出库单的打印预览,主要用到tcpdf插件,整合到laravel项目中。tcpdf插件可以到官网下载最新的版本。我这里用的是最新版本,这里提供下载插件链接:链接:https://pan.baidu.com/s/1Mn8ho_AxyJfWR7YUa0wzhQ提取码:9doa三色单截图:插件截图:开发功</div>
                    </li>
                    <li><a href="/article/1833525814734450688.htm"
                           title="Python 常用的第三方库" target="_blank">Python 常用的第三方库</a>
                        <span class="text-muted">akenseren</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>作者:VictorZhang链接:https://www.zhihu.com/question/20501628/answer/126155557来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。数学计算三件套:numpy简单介绍:只要涉及到数值计算,基本上三件套都会用上链接:NumPy—NumPyscipy简单介绍:只要涉及到数值计算,基本上三件套都会用上链接:Sci</div>
                    </li>
                    <li><a href="/article/1833524662039048192.htm"
                           title="两天的一个小结" target="_blank">两天的一个小结</a>
                        <span class="text-muted">deathneverdie</span>

                        <div>感觉出错比较多的:1.题干信息题2.词汇题3.6选24.缩写很夸张--6选2基本没对过emmm主要是读的太慢了一篇20分钟太慢了要控制自己!加速!还有就是信息题,在第二天里我做过一个小结,可以回去看一下缩写体在第二天也有涉及emmm加油期待第三天的成绩</div>
                    </li>
                    <li><a href="/article/1833524149679648768.htm"
                           title="亲子日记205篇" target="_blank">亲子日记205篇</a>
                        <span class="text-muted">田坤爸爸</span>

                        <div>上了初中,加上了几门课程,家庭作业也多了,还想跟小学的时候只有语、数、英三门,作业还少,天天玩手机,看电视,已经成为童年的回忆了!晚上回到家,田坤就要我给她听写单词,这个好办,我初中时英语几乎考零分,但是我会汉语,那我就只念汉语,田坤默写英语,爷俩配合的还很默契。当听写到:(当然)一词时,田坤写出course,当听写:(是的,当然。)时,田坤还说是course我说不对,田坤说对,还解释说cours</div>
                    </li>
                    <li><a href="/article/1833524145934135296.htm"
                           title="一位高道修炼内丹的全过程(详细经验)" target="_blank">一位高道修炼内丹的全过程(详细经验)</a>
                        <span class="text-muted">极学书院</span>

                        <div>青衣公众号:道衍天下;诸天气荡荡、我道日兴隆张苏辰老先生生于一九○三年八月,为道家龙门派内丹功二十代传人。他涉足丹功,本是出于重痾之下对生命的无限眷恋。然而在经过五十余年的修为之后,他却参破了生命之奥,环顾「过去的友人已无一在世」,乃有了云归之意,遂端坐而化。这真是一个奇妙的生命轮回!他留下的在「道」中散步的足迹,走进了自古以来「传药不传火」的禁区,如夜空并不熄灭它所有的灯一样,留下一盏蟾光,为逆</div>
                    </li>
                    <li><a href="/article/1833524143383998464.htm"
                           title="吾日三省吾身(18-27)" target="_blank">吾日三省吾身(18-27)</a>
                        <span class="text-muted">张小龙灬</span>

                        <div>1,最近抖音刷的有点勤,要警醒!2,以后烫发只要能卷上热烫杠子,就烫热烫,因为即使为了提升技术,锻炼自己也要做热烫,要不然都退步了!3,最近真的是写作+工作了,进步好大啊!4,不吃晚饭和宵夜和酒,除非特殊情况!戒掉泡面肠零食鸡腿!5,学生思维老师要的是答案,而工作思维老板要的是结果!6,今天开始在店里住了,不回寝室了,因为疫情又严重了!7,改变自己很痛苦,但是要坚持,今天要比昨天的自己强!8,今天</div>
                    </li>
                    <li><a href="/article/1833523416079101952.htm"
                           title="llm在网页中的流式输出(langchain与streamlit库)" target="_blank">llm在网页中的流式输出(langchain与streamlit库)</a>
                        <span class="text-muted">格瑞Lxf</span>
<a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a>
                        <div>一、手动进行流式输出llm本身是支持在终端流式输出的,以ollama为例llm=Ollama(base_url="http://localhost:11434",model="qwen",callback_manager=CallbackManager([StreamingStdOutCallbackHandler()]),)查看源码StreamingStdOutCallbackHandler类中</div>
                    </li>
                    <li><a href="/article/1833521996269449216.htm"
                           title="春夏秋冬四姑娘" target="_blank">春夏秋冬四姑娘</a>
                        <span class="text-muted">飘逸1</span>

                        <div>季节的美,各有各的不同,它们何尝不像一家四姐妹,一个个美丽的姑娘,春老大是顽皮活泼的,她踩着高跟鞋婀娜多姿的走来,一甩手柳树绿了,一抬脚小草青了,飞一个媚眼,杏花桃花便羞红了脸,娇嫩了腮。图片发自App夏老二那是炽热多情的,点燃了石榴火红的岁月,枝繁叶茂了翠绿。娇美了荷花的清逸。图片发自App秋老三那就是温婉含蓄内敛的大家闺秀了,丰盈饱满,收点成熟,敛绿为黄。任由秋风秋霜这两员大将改变万物的颜色,</div>
                    </li>
                    <li><a href="/article/1833520984154533888.htm"
                           title="感谢你的放手之恩,成全了了不起的我!" target="_blank">感谢你的放手之恩,成全了了不起的我!</a>
                        <span class="text-muted">阿拉小仙儿</span>

                        <div>讲真《了不起的麦瑟尔夫人》这部美剧是被美妆博主们安利的。本是看穿搭的,结果却被麦瑟尔夫人离开出轨丈夫之后开挂的人生而深深吸引。在被出轨之前,麦瑟尔夫人过着完美而又精致的中产生活。数十年如一日地每天量自己的三围,确保身材不走样。每天等丈夫入睡之后,悄悄起床卸妆敷面膜。第二天早晨在丈夫醒来之前,偷偷溜进卫生间化好精致的妆容,再重新躺在床上,等着被丈夫吻醒,再装着睡眼惺忪的样子,“抱歉,我重来都没有听到</div>
                    </li>
                    <li><a href="/article/1833520517043286016.htm"
                           title="使用Python的Elasticsearch客户端 elasticsearch-py 来完成删除现有索引、重新创建索引并测试分词的示例代码" target="_blank">使用Python的Elasticsearch客户端 elasticsearch-py 来完成删除现有索引、重新创建索引并测试分词的示例代码</a>
                        <span class="text-muted">Roc-xb</span>
<a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a>
                        <div>以下是一个使用Python的Elasticsearch客户端elasticsearch-py来完成删除现有索引、重新创建索引并测试分词的示例代码一、安装依赖pipinstallelasticsearch二、运行效果三、程序代码fromelasticsearchimportElasticsearch,NotFoundError#连接到Elasticsearches=Elasticsearch(</div>
                    </li>
                    <li><a href="/article/1833518826826854400.htm"
                           title="我们的新闻早报" target="_blank">我们的新闻早报</a>
                        <span class="text-muted">子仲之子</span>

                        <div>2019年07月10日,星期三,雨转阴昨晚11:00休息,今早05:35起床!我们这块办公区域的同志,有个不成文的习惯,那就是每天早上在未上班前,都会先分享前一天下班之后,自己有遇到的好玩的事情,或是早上听到的新鲜的新闻。刚开始的时候,就只是我们部门三个人自己的活动。所以,我就把这个活动命名为“三人行·新闻早报”时间。后来,慢慢的就发展成了我们这一片区域的活动,财务和司机班的同事,也时常加入我们这</div>
                    </li>
                    <li><a href="/article/1833518502644903936.htm"
                           title="c#视觉应用开发中如何使用Emgu CV在C#中进行图像处理?" target="_blank">c#视觉应用开发中如何使用Emgu CV在C#中进行图像处理?</a>
                        <span class="text-muted">openwin_top</span>
<a class="tag" taget="_blank" href="/search/C%23%E8%A7%86%E8%A7%89%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E9%97%AE%E9%A2%98%E7%B3%BB%E5%88%97/1.htm">C#视觉应用开发问题系列</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86/1.htm">图像处理</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>microPythonPython最小内核源码解析NI-motion运动控制c语言示例代码解析python编程示例系列python编程示例系列二python的Web神器Streamlit如何应聘高薪职位EmguCV是OpenCV的.NET包装器,可以让开发者在.NET语言(如C#)中使用OpenCV的功能进行图像处理。在进行图像处理时,EmguCV提供了丰富的API可以使用。以下是使用EmguCV</div>
                    </li>
                    <li><a href="/article/1833518184754409472.htm"
                           title="2月总结 3月计划" target="_blank">2月总结 3月计划</a>
                        <span class="text-muted">Mi丝喵</span>

                        <div>2月份的目标1⃣️看3本书,没有完成❌2月本来以为有春节假期,自己是妥妥可以完成的,但是在今天写文章的时候发现,现在还在看第三本书的ing过程中,只完成了2本书的阅读。2⃣️每周的周一周三周五运动,没有完成❌整个2月都没有运动过,对的,是整整一个2月,28天,没有动起来。回家的时候还带着运动鞋回家的,想着是可以运动。没想到最后运动鞋一直在旅行箱里面没有拿出来过。3⃣️每天写500字的小文章,我刚数</div>
                    </li>
                                <li><a href="/article/26.htm"
                                       title="设计模式介绍" target="_blank">设计模式介绍</a>
                                    <span class="text-muted">tntxia</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>设计模式来源于土木工程师 克里斯托弗 亚历山大(http://en.wikipedia.org/wiki/Christopher_Alexander)的早期作品。他经常发表一些作品,内容是总结他在解决设计问题方面的经验,以及这些知识与城市和建筑模式之间有何关联。有一天,亚历山大突然发现,重复使用这些模式可以让某些设计构造取得我们期望的最佳效果。 
 
亚历山大与萨拉-石川佳纯和穆雷 西乐弗斯坦合作</div>
                                </li>
                                <li><a href="/article/153.htm"
                                       title="android高级组件使用(一)" target="_blank">android高级组件使用(一)</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/RatingBar/1.htm">RatingBar</a><a class="tag" taget="_blank" href="/search/Spinner/1.htm">Spinner</a>
                                    <div>1、自动完成文本框(AutoCompleteTextView) 
 
 AutoCompleteTextView从EditText派生出来,实际上也是一个文本编辑框,但它比普通编辑框多一个功能:当用户输入一个字符后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个菜单项之后,AutoCompleteTextView按用户选择自动填写该文本框。 
 使用AutoCompleteTex</div>
                                </li>
                                <li><a href="/article/280.htm"
                                       title="[网络与通讯]路由器市场大有潜力可挖掘" target="_blank">[网络与通讯]路由器市场大有潜力可挖掘</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                                    <div>   
       如果国内的电子厂商和计算机设备厂商觉得手机市场已经有点饱和了,那么可以考虑一下交换机和路由器市场的进入问题..... 
 
       这方面的技术和知识,目前处在一个开放型的状态,有利于各类小型电子企业进入 
 
 &nbs</div>
                                </li>
                                <li><a href="/article/407.htm"
                                       title="自写简单Redis内存统计shell" target="_blank">自写简单Redis内存统计shell</a>
                                    <span class="text-muted">商人shang</span>
<a class="tag" taget="_blank" href="/search/Linux+shell/1.htm">Linux shell</a><a class="tag" taget="_blank" href="/search/%E7%BB%9F%E8%AE%A1Redis%E5%86%85%E5%AD%98/1.htm">统计Redis内存</a>
                                    <div>#!/bin/bash
address="192.168.150.128:6666,192.168.150.128:6666"  
hosts=(${address//,/ })  

sfile="staticts.log"

for hostitem in ${hosts[@]}  
do  
    ipport=(${hostitem</div>
                                </li>
                                <li><a href="/article/534.htm"
                                       title="单例模式(饿汉 vs懒汉)" target="_blank">单例模式(饿汉 vs懒汉)</a>
                                    <span class="text-muted">oloz</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a>
                                    <div>package 单例模式;
/*
 * 应用场景:保证在整个应用之中某个对象的实例只有一个
 * 单例模式种的《 懒汉模式》  
 * */
public class Singleton {
	
	//01 将构造方法私有化,外界就无法用new Singleton()的方式获得实例
	private Singleton(){};
	
	//02 申明类得唯一实例
	priva</div>
                                </li>
                                <li><a href="/article/661.htm"
                                       title="springMvc json支持" target="_blank">springMvc json支持</a>
                                    <span class="text-muted">杨白白</span>
<a class="tag" taget="_blank" href="/search/json+springmvc/1.htm">json springmvc</a>
                                    <div>1.Spring mvc处理json需要使用jackson的类库,因此需要先引入jackson包 
 
 
2在spring mvc中解析输入为json格式的数据:使用@RequestBody来设置输入 
 

@RequestMapping("helloJson")
public @ResponseBody
    JsonTest helloJson() {
   </div>
                                </li>
                                <li><a href="/article/788.htm"
                                       title="android播放,掃描添加本地音頻文件" target="_blank">android播放,掃描添加本地音頻文件</a>
                                    <span class="text-muted">小桔子</span>

                                    <div>        最近幾乎沒有什麽事情,繼續鼓搗我的小東西。想在項目中加入一個簡易的音樂播放器功能,就像華為p6桌面上那麼大小的音樂播放器。用過天天動聽或者QQ音樂播放器的人都知道,可已通過本地掃描添加歌曲。不知道他們是怎麼實現的,我覺得應該掃描設備上的所有文件,過濾出音頻文件,每個文件實例化為一個實體,記錄文件名、路徑、歌手、類型、大小等信息。具體算法思想,</div>
                                </li>
                                <li><a href="/article/915.htm"
                                       title="oracle常用命令" target="_blank">oracle常用命令</a>
                                    <span class="text-muted">aichenglong</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/dba/1.htm">dba</a><a class="tag" taget="_blank" href="/search/%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/1.htm">常用命令</a>
                                    <div>1 创建临时表空间 
create temporary tablespace user_temp  
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local</div>
                                </li>
                                <li><a href="/article/1042.htm"
                                       title="25个Eclipse插件" target="_blank">25个Eclipse插件</a>
                                    <span class="text-muted">AILIKES</span>
<a class="tag" taget="_blank" href="/search/eclipse%E6%8F%92%E4%BB%B6/1.htm">eclipse插件</a>
                                    <div>提高代码质量的插件1. FindBugsFindBugs可以帮你找到Java代码中的bug,它使用Lesser GNU Public License的自由软件许可。2. CheckstyleCheckstyle插件可以集成到Eclipse IDE中去,能确保Java代码遵循标准代码样式。3. ECLemmaECLemma是一款拥有Eclipse Public License许可的免费工具,它提供了</div>
                                </li>
                                <li><a href="/article/1169.htm"
                                       title="Spring MVC拦截器+注解方式实现防止表单重复提交" target="_blank">Spring MVC拦截器+注解方式实现防止表单重复提交</a>
                                    <span class="text-muted">baalwolf</span>
<a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a>
                                    <div>原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过。      
1.新建注解: 
     
?       1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   </div>
                                </li>
                                <li><a href="/article/1296.htm"
                                       title="《Javascript高级程序设计(第3版)》闭包理解" target="_blank">《Javascript高级程序设计(第3版)》闭包理解</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                    <div>“闭包是指有权访问另一个函数作用域中的变量的函数。”--《Javascript高级程序设计(第3版)》 
  
      看以下代码: 
<script type="text/javascript">
    function outer() {
        var i = 10;
        return f</div>
                                </li>
                                <li><a href="/article/1423.htm"
                                       title="AngularJS Module类的方法" target="_blank">AngularJS Module类的方法</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/Module/1.htm">Module</a>
                                    <div>        AngularJS中的Module类负责定义应用如何启动,它还可以通过声明的方式定义应用中的各个片段。我们来看看它是如何实现这些功能的。 
一.Main方法在哪里 
        如果你是从Java或者Python编程语言转过来的,那么你可能很想知道AngularJS里面的main方法在哪里?这个把所</div>
                                </li>
                                <li><a href="/article/1550.htm"
                                       title="[Maven学习笔记七]Maven插件和目标" target="_blank">[Maven学习笔记七]Maven插件和目标</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/maven%E6%8F%92%E4%BB%B6/1.htm">maven插件</a>
                                    <div>插件(plugin)和目标(goal) 
Maven,就其本质而言,是一个插件执行框架,Maven的每个目标的执行逻辑都是由插件来完成的,一个插件可以有1个或者几个目标,比如maven-compiler-plugin插件包含compile和testCompile,即maven-compiler-plugin提供了源代码编译和测试源代码编译的两个目标 
  
使用插件和目标使得我们可以干预</div>
                                </li>
                                <li><a href="/article/1677.htm"
                                       title="【Hadoop八】Yarn的资源调度策略" target="_blank">【Hadoop八】Yarn的资源调度策略</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                                    <div>1. Hadoop的三种调度策略 
Hadoop提供了3中作业调用的策略, 
 
 FIFO Scheduler 
 Fair Scheduler 
 Capacity Scheduler 
 
以上三种调度算法,在Hadoop MR1中就引入了,在Yarn中对它们进行了改进和完善.Fair和Capacity Scheduler用于多用户共享的资源调度 
  2. 多用户资源共享的调度 </div>
                                </li>
                                <li><a href="/article/1804.htm"
                                       title="Nginx使用Linux内存加速静态文件访问" target="_blank">Nginx使用Linux内存加速静态文件访问</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>Nginx是一个非常出色的静态资源web服务器。如果你嫌它还不够快,可以把放在磁盘中的文件,映射到内存中,减少高并发下的磁盘IO。 
先做几个假设。nginx.conf中所配置站点的路径是/home/wwwroot/res,站点所对应文件原始存储路径:/opt/web/res 
shell脚本非常简单,思路就是拷贝资源文件到内存中,然后在把网站的静态文件链接指向到内存中即可。具体如下:      </div>
                                </li>
                                <li><a href="/article/1931.htm"
                                       title="关于Unity3D中的Shader的知识" target="_blank">关于Unity3D中的Shader的知识</a>
                                    <span class="text-muted">brotherlamp</span>
<a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/unity%E8%B5%84%E6%96%99/1.htm">unity资料</a><a class="tag" taget="_blank" href="/search/unity%E6%95%99%E7%A8%8B/1.htm">unity教程</a><a class="tag" taget="_blank" href="/search/unity%E8%A7%86%E9%A2%91/1.htm">unity视频</a><a class="tag" taget="_blank" href="/search/unity%E8%87%AA%E5%AD%A6/1.htm">unity自学</a>
                                    <div>首先先解释下Unity3D的Shader,Unity里面的Shaders是使用一种叫ShaderLab的语言编写的,它同微软的FX文件或者NVIDIA的CgFX有些类似。传统意义上的vertex shader和pixel shader还是使用标准的Cg/HLSL 编程语言编写的。因此Unity文档里面的Shader,都是指用ShaderLab编写的代码,然后我们来看下Unity3D自带的60多个S</div>
                                </li>
                                <li><a href="/article/2058.htm"
                                       title="CopyOnWriteArrayList vs ArrayList" target="_blank">CopyOnWriteArrayList vs ArrayList</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>package com.ljn.base;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

/**
 * 总述:
 * 1.ArrayListi不是线程安全的,CopyO</div>
                                </li>
                                <li><a href="/article/2185.htm"
                                       title="内存中栈和堆的区别" target="_blank">内存中栈和堆的区别</a>
                                    <span class="text-muted">chicony</span>
<a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98/1.htm">内存</a>
                                    <div>  
1、内存分配方面: 
 
    堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 
 
    栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中</div>
                                </li>
                                <li><a href="/article/2312.htm"
                                       title="回答一位网友对Scala的提问" target="_blank">回答一位网友对Scala的提问</a>
                                    <span class="text-muted">chenchao051</span>
<a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a>
                                    <div>本来准备在私信里直接回复了,但是发现不太方便,就简要回答在这里。  问题 写道   对于scala的简洁十分佩服,但又觉得比较晦涩,例如一例,Map("a" -> List(11,111)).flatMap(_._2),可否说下最后那个函数做了什么,真正在开发的时候也会如此简洁?谢谢  
   先回答一点,在实际使用中,Scala毫无疑问就是这么简单。</div>
                                </li>
                                <li><a href="/article/2439.htm"
                                       title="mysql 取每组前几条记录" target="_blank">mysql 取每组前几条记录</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E7%BB%84/1.htm">分组</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%A7%E5%80%BC/1.htm">最大值</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%B0%8F%E5%80%BC/1.htm">最小值</a><a class="tag" taget="_blank" href="/search/%E6%AF%8F%E7%BB%84%E4%B8%89%E6%9D%A1%E8%AE%B0%E5%BD%95/1.htm">每组三条记录</a>
                                    <div>一、对分组的记录取前N条记录:例如:取每组的前3条最大的记录    1.用子查询:   SELECT * FROM tableName a  WHERE 3>   (SELECT COUNT(*) FROM  tableName b WHERE b.id=a.id AND b.cnt>a. cnt)   ORDER BY a.id,a.account DE</div>
                                </li>
                                <li><a href="/article/2566.htm"
                                       title="HTTP深入浅出 http请求" target="_blank">HTTP深入浅出 http请求</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/http/1.htm">http</a>
                                    <div>    HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后We</div>
                                </li>
                                <li><a href="/article/2693.htm"
                                       title="判断MySQL记录是否存在方法比较" target="_blank">判断MySQL记录是否存在方法比较</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>把数据写入到数据库的时,常常会碰到先要检测要插入的记录是否存在,然后决定是否要写入。 
  我这里总结了判断记录是否存在的常用方法: 
  sql语句:  select   count ( * )  from  tablename;  
  然后读取count(*)的值判断记录是否存在。对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要全部都查出来。</div>
                                </li>
                                <li><a href="/article/2820.htm"
                                       title="对HTML XML的一点认识" target="_blank">对HTML XML的一点认识</a>
                                    <span class="text-muted">e200702084</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a>
                                    <div>感谢http://www.w3school.com.cn提供的资料 
HTML 文档中的每个成分都是一个节点。 
节点 
根据 DOM,HTML 文档中的每个成分都是一个节点。 
 
DOM 是这样规定的: 
 
整个文档是一个文档节点 
每个 HTML 标签是一个元素节点 
包含在 HTML 元素中的文本是文本节点 
每一个 HTML 属性是一个属性节点 
注释属于注释节点 
Node 层次 
</div>
                                </li>
                                <li><a href="/article/2947.htm"
                                       title="jquery分页插件" target="_blank">jquery分页插件</a>
                                    <span class="text-muted">genaiwei</span>
<a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E9%A1%B5/1.htm">分页</a><a class="tag" taget="_blank" href="/search/%E6%8F%92%E4%BB%B6/1.htm">插件</a>
                                    <div>//jquery页码控件// 创建一个闭包    (function($) {      // 插件的定义      $.fn.pageTool = function(options) {          var totalPa</div>
                                </li>
                                <li><a href="/article/3201.htm"
                                       title="Mybatis与Ibatis对照入门于学习" target="_blank">Mybatis与Ibatis对照入门于学习</a>
                                    <span class="text-muted">Josh_Persistence</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%88%AB/1.htm">区别</a><a class="tag" taget="_blank" href="/search/%E8%81%94%E7%B3%BB/1.htm">联系</a>
                                    <div>一、为什么使用IBatis/Mybatis 
        对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 Hibernate、JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择。即使在持久层框架层出不穷的今天,iBatis 凭借着易学易用、</div>
                                </li>
                                <li><a href="/article/3328.htm"
                                       title="C中怎样合理决定使用那种整数类型?" target="_blank">C中怎样合理决定使用那种整数类型?</a>
                                    <span class="text-muted">秋风扫落叶</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/1.htm">数据类型</a>
                                    <div>如果需要大数值(大于32767或小于32767), 使用long 型。 否则, 如果空间很重要 (如有大数组或很多结构), 使用 short 型。 除此之外, 就使用 int 型。 如果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字节时避免符号扩展的问题, 请使用对应的无符号类型。 但是, 要注意在表达式中混用有符号和无符号值的情况。 
  
 &nbs</div>
                                </li>
                                <li><a href="/article/3455.htm"
                                       title="maven问题" target="_blank">maven问题</a>
                                    <span class="text-muted">zhb8015</span>
<a class="tag" taget="_blank" href="/search/maven%E9%97%AE%E9%A2%98/1.htm">maven问题</a>
                                    <div>  
问题1: 
Eclipse 中 新建maven项目 无法添加src/main/java 问题 
   eclipse创建maevn web项目,在选择maven_archetype_web原型后,默认只有src/main/resources这个Source Floder。 
    按照maven目录结构,添加src/main/ja</div>
                                </li>
                                <li><a href="/article/3582.htm"
                                       title="(二)androidpn-server tomcat版源码解析之--push消息处理" target="_blank">(二)androidpn-server tomcat版源码解析之--push消息处理</a>
                                    <span class="text-muted">spjich</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/androdipn/1.htm">androdipn</a><a class="tag" taget="_blank" href="/search/%E6%8E%A8%E9%80%81/1.htm">推送</a>
                                    <div>在 (一)androidpn-server tomcat版源码解析之--项目启动这篇中,已经描述了整个推送服务器的启动过程,并且把握到了消息的入口即XmppIoHandler这个类,今天我将继续往下分析下面的核心代码,主要分为3大块,链接创建,消息的发送,链接关闭。 
先贴一段XmppIoHandler的部分代码 
/**
     * Invoked from an I/O proc</div>
                                </li>
                                <li><a href="/article/3709.htm"
                                       title="用js中的formData类型解决ajax提交表单时文件不能被serialize方法序列化的问题" target="_blank">用js中的formData类型解决ajax提交表单时文件不能被serialize方法序列化的问题</a>
                                    <span class="text-muted">中华好儿孙</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6/1.htm">上传文件</a><a class="tag" taget="_blank" href="/search/FormData/1.htm">FormData</a>
                                    <div>
var formData = new FormData($("#inputFileForm")[0]);
$.ajax({
		type:'post',
		url:webRoot+"/electronicContractUrl/webapp/uploadfile",
		data:formData,
		async: false,
		ca</div>
                                </li>
                                <li><a href="/article/3836.htm"
                                       title="mybatis常用jdbcType数据类型" target="_blank">mybatis常用jdbcType数据类型</a>
                                    <span class="text-muted">ysj5125094</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/mapper/1.htm">mapper</a><a class="tag" taget="_blank" href="/search/jdbcType/1.htm">jdbcType</a>
                                    <div>  
MyBatis 通过包含的jdbcType
类型 
BIT         FLOAT      CHAR          </div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>