深入理解dedecms中的底层模版的含义

底层模板(Innertext),底层模板实际上就是对于有多条记录的模板输出,用户手工去指定单个记录的样式。
因为这个概念很虚线,那么这个地方还是通过实践去说明吧。
大家在标签测试的地方输入:

  • 这是使用默认底层模板的标签:
{dede:arclist row=10}
{/dede:arclist}
  • 这是手工指定底层模板的标签:
{dede:arclist row=5}
  [field:title /] 点击:[field:click/] 
{/dede:arclist}

有一点需注意的是,在没有指定底层模板(Innettext)的时候,系统一般调用 templets/system 里的
相应该文件作为底层模板。

例如:

{dede:arclist row=10}{/dede:arclist}

它实际由系统默认调用了templets/system/part_arclist.htm 这文件的东西作为底层模板。这文件的内容是

[field:title /]

那么

{dede:arclist row=10}{/dede:arclist}

就等同于

{dede:arclist row=10}·[field:title /]

{/dede:arclist}既能用短标记,也能直接定义样式,又不依赖数据库,这是dedecms模板和其它模板的最大区别。

在标记之间 [field:…/] 这些就是底层模板变量,这些标记一般也是属于 Dedecms 标签的模式,只是 { … } 符号改为了 [ … ],因此底层模板中的标签也是具有DedeCms标签的特性的,例如,在底层模板中使用 [field:global name=’cfg_webname’/] 同样可以表示全局变量 $cfg_webname。

在此我简单介绍一下常用的 arclist 标记的底层模板字段及意义

arclist的底层模板字段实际上是对应相应该主索引表的,在文档模板中则对应该主表和附加表,主
表字段是一样的,我等会介绍一下,附加表的可以在模型里找。
arclist常用的字段有:
ID(同 id),
title(标题),
color,
typeid(栏目ID),
description(摘要,同 info),
writer(作者),
shorttitle(短标题),
memberid(会员ID),
pubdate(发布时间),
click,
litpic(缩图图,同 picname),
typename(栏目名称),
arcurl(网址,同 filename),typeurl(栏目网址)stime(pubdate 的"0000-00-00"格式,等同于[field:pubdate function="strftime('%y-%m-%d',@me)"/]),
textlink(等同[field:title/]),
typelink(等同[field:title/]),
imglink(等同),
image(等同),
大家需注意的一个问题是:[field:标记名称/]这种写法是仅在底层模板中才用的。在文档模板中,字段是用 {dede:field name='title'/}这样形式表示的。不过在一种特殊的情况下,Innertext是无效的,就是指定了 runphp=’yes’ 属性,:A、function 扩展;B、在Innertext中直接编程。

一、那么首先说
A、function 扩展:
在标记中,可以使用 {dede:标记名称 function=”函数名(@me,其它参数)” /}这样模式对标记的值进行处理,其中 @me 就是表示标记当前的值,最终获得的结果是这个函数返回的值。
大家不妨测试一下下面这个标签:{dede:global function="file_get_contents('http://www.baidu.com')" /}
下面再举个实用的例子(测试一下):

{dede:arclist row=5}
[field:title /]
[field:pubdate function="strftime('%y-%m-%d %H:%M',@me);"/]
{/dede:arclist}

从实例中大家可以注意到,{dede:xx/}和[field:xxx/}都支持function扩展。实际上 [field:xxx/] 这种模式也是dede标签解析器解析的,所以作用一样,它只是把 dede 换成 field { 换成 [在这里,function 属性的 function 不仅是用PHP自带的,用自己定义的也行。不过要注意function的格式,自定义的function不能用echo这样的输出,而是返回一个字符串,这样就行了。
写好的函数放入 include/inc_channel_unit_functions.php 文件,因为dede核心都会调用这个文件。

这里举个简单的函数:
function testMyFunc(str." 增加了我的东西哦!";}
在标签中使用:
{dede:global name='cfg_webname' function='testMyFunc(@me)'/}
用function扩展的好处是既可以增强系统的功能,又保持标记的简洁。

二、下面介绍的是另一种扩展 B
在Innertext中直接编程这种方式和function编程的不同之处是,你可以把PHP代码直接写入到标签的底层模板代码的地方,不过需要注意的是,在这里的PHP代码并非完全意义上的PHP代码,它必须符合Dede限定的格式,即是最终返回值返回到 @me 变量中,同样的是用 @me 表示标记的最初的值。
使用格式: {dede:标记名称 runphp=yes} PHP代码{/dede:标记名称}
大家测试一下这个代码:

{dede:global name='cfg_webname' runphp='yes'}
  $baidu = file_get_contents("http://www.baidu.com");
  preg_match_all("/(.*)<\/title>/isU",$baidu,$baidus);
  @me = $baidus[1][0];
{/dede:global}
</code></pre> 
 <p>这里的 cfg_webname 不再显示当前站点名了,因为 <code>@me =$ baidus[1][0];</code> 改变了它的值。<br> 在使用标记内编程或function扩展时,很多情况都可能会调用数据库。在V5版本中,DedeCms的数据库进行了改进,无论你新建多少个类的对像,最终打开的链接是只有一个的,并且会生成一个 <code>$dsql</code> 的全局数据库类的变量。<br> 以往有些懂dedecms数据库类的人在调用function扩展的时候,一般的做法是用 <code>$dsql = new DedeSql(false);</code> 这样新建一个类。实际上在V5中是不需要这样的。直接用 global $dsql;声明一下就能使用,并且在函数体中不要自行关闭(即执行<code>dsql->Close()</code>否则可能出错。<br> 那么在这里举个简单的例子(测试代码):</p> 
 <pre><code>{dede:global runphp='yes'}
  global $dsql;
  $restr = '';
  $dsql->SetQuery("Select * From dede_feedback where ischeck=1 order by ID desc limit 5");
  $dsql->Execute('feedback');
  while($row = $dsql->GetArray('feedback')){
      $restr .= "<a target='_blank' href='/plus/feedback.php?arcID={$row['aid']}&urlindex={$row['urlindex']}'>       {$row['arctitle']}</a> -- ".cn_substr($row['msg'],200);
  }
@me = $restr;{/dede:global}
</code></pre> 
 <p>这代码是调用最新评论的。dede本身没有提供直接调用评论的标签,一般懂的人用loop标签调用,不过在本版中,新增的SQL标签会更简单。<br> 在 DedeCms V5 中有一个标签{dede:sql sql="SQL语句 limit 记录"}底层模板{/dede:sql}<br> 我现在改一下刚才调用评论的地方(测试代码):<br> {dede:sql sql="Select * From dede_feedback where ischeck=1 order by ID desc limit 5"}<br> <a target='_blank' href='/plus/feedback.php?arcID=[field:aid/]&urlindex=[field:urlindex/]'>[field:arctitle/]</a> -- [field:msg/]<hr /><br> {/dede:sql}<br> 这结果应该和上面的代码是一样的。<br> 为了补允调用全站数据的不足,V5中新增了 arcfulllist 标记,它的作用与 arclist 标记有点类同,不示不同的是 arcfulllist 里的文件名有时候可能是动态的,这因为它是使用搜索时用的那个简单索引表。在专题文章、相关文章中默认都是使用 arcfulllist 调用指定的 id 的文档的。<br> 由于这标记可能造成文件名不同步,我们系统后面增加了文档名批量修正功能,但为了防止忘记操作,建议建立栏目就设定好文档命名规则,以后不要经常更改。<br> 一就是常用的模型,二是新出的模块,三是插件。<br> 大家进到Dede管理后台“频道管理->内容模型管理”的地方可以看到:<br> 分类信息专题普通文章图片集软件Flash产品这些都是内置的模型。大家也可以自己新建一个模型,有不少人问:Dedecms的文本存储在哪里呀?下面我一步一步的教大家建立一个用文本存储的文章模型。<br> 首先“增加一个新模型”,建立好后“添加字段”,然后转向栏目管理的地方。建立好后转到栏目管理的地方新建一个顶级栏目,内容模型选刚才建好的那个。建立好栏目后,随意在那个栏目增加一篇文章。预览文章,会发生新增的模型显示的文档。现在再回到频道模型管理的地方,在新建的频道点击“模板”。<br> 对于类同的模型,最好是把类同的模板作为当前模型的模板。如刚才建立的模型,实际上模板和普通文章模板是一样的。<br> 关于字段的问题,在文档模板中字段是用{dede:field name='字段名'/}表示。例如在软件模型中文件类型 filetype 单行文本(varchar) 固化表单 [修改]<br> 语言 language 单行文本(varchar) 固化表单 [修改]<br> 软件类型 softtype 单行文本(varchar) 固化表单 [修改]<br> 授权方式 accredit 单行文本(varchar) 固化表单 [修改]<br> 操作系统 os 单行文本(varchar) 固化表单 [修改]<br> 软件等级 softrank 整数类型 固化表单 [修改]<br> 官方网址 officialurl 单行文本(varchar) 固化表单 [修改]<br> 语言这字段就可以用 {dede:field name='language'/} 表示,此外,title , keywords,description 这些实际上主索引表的东西,刚才说模板时已经介绍过它的含义了。<br> 有用户提过一个问题,就是关于自定义模型如何在表布表单中调整字段的顺序。Dedecms目前没有这选项,需要改的必须用 phpmyadmin 进入 it_channeltype 这个表。编辑 fieldset 这里的XML,调一下位置就行了。<br> 此外大家要区别一下自动模型和系统模型的区别,系统模型是固化了的,要调整必须自己修改程序,<br> 对于普通人是无法改的。不过这版本允许自行增加一些字段在里面。<br> 因为这次讲座是个中级讲座,模型这块我就不太深入的讲解了,最后介绍一下插件和模块。<br> 插件和模块DEDE增加新模型,必须一步到位,如果不用phpmyadmin,输入错误什么的,在后台修改不了。<br> 插件在Dedecms中是就是一些小的实际的程序的集合,它可以简单的安装和删除,不过安装和删除仅去掉数据库的索引记录,并非进行真正的安装。<br> 官方网前自带的插件有:<br> 文件管理器站内新闻发布友情链接模块留言簿模块投票模块论坛扩展广告管理正则规则测试器随机模<br> 板防采集木马扫描检测数据转换与导入实际上很多情况下单用插件是满足不了系统的需求的,实际上很多情况下单用插件是满足不了系统的需求的。因此Dedecms V5提出了模块的概念。<br> 模块是对系统模型的一个补充,因为Dedecms的模板解析机制相对复杂,如果所有东西都依赖模型,就<br> 结果只有一个:速度越来越慢。而使用模块就补充了这方面的不足。在 Dedecms V5 的菜单中“扩展模块”里放的就是Dedecms的模块。<br> 模块文件是一个标准化的xml文件,它即包含了模块安装删除的数据,也偶包含了图片等二进制文件。有些人问我,为什么在DedeCms V5的安装包里没发现ask、group等目录?因为这些东西都封装起来了,如果你不安装它,是不会看到这些文件的,这样就能尽大限度满足一些站长想要功能多,一些想要功能实用的需求。</p> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1212093549961646080"></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">你可能感兴趣的:(深入理解dedecms中的底层模版的含义)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1891969394972618752.htm"
                           title="Pytorch实现论文之三元DCGAN生成RGB图像用于红外图像着色生成" target="_blank">Pytorch实现论文之三元DCGAN生成RGB图像用于红外图像着色生成</a>
                        <span class="text-muted">这张生成的图像能检测吗</span>
<a class="tag" taget="_blank" href="/search/GAN%E7%B3%BB%E5%88%97/1.htm">GAN系列</a><a class="tag" taget="_blank" href="/search/%E4%BC%98%E8%B4%A8GAN%E6%A8%A1%E5%9E%8B%E8%AE%AD%E7%BB%83%E8%87%AA%E5%B7%B1%E7%9A%84%E6%95%B0%E6%8D%AE%E9%9B%86/1.htm">优质GAN模型训练自己的数据集</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%88%90%E5%AF%B9%E6%8A%97%E7%BD%91%E7%BB%9C/1.htm">生成对抗网络</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a>
                        <div>简介简介:采用了三次DCGAN单独生成单通道图像之后进行组成RGB图像放入鉴别器中检测,并在鉴别器和生成器的损失训练中采用梯度方法来提升或者降低权重。该方法将用于获得红外图像着色的生成。论文题目:InfraredImageColorizationbasedonaTripletDCGANArchitecture(基于三元DCGAN架构的红外图像着色)会议:2017IEEEConferenceonCo</div>
                    </li>
                    <li><a href="/article/1891968635937812480.htm"
                           title="JVM内存优化的秘密武器:压缩指针详解" target="_blank">JVM内存优化的秘密武器:压缩指针详解</a>
                        <span class="text-muted">墨瑾轩</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%80%E8%B5%B7%E5%AD%A6%E5%AD%A6Java%E3%80%90%E4%B8%80%E3%80%91/1.htm">一起学学Java【一】</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣引言嘿,小伙伴们,我是你们的技术领航员zq啦!今天,咱们要一起探讨一个超棒的话题——JVM中的压缩指针技术。压缩指针就像是魔法中的缩小药水,能让原本庞大的指针变得小巧玲珑,从而节省宝贵的内存空间。别急,让我们慢慢揭开它的神秘面纱!正文一、刨根问底:压缩指针是什</div>
                    </li>
                    <li><a href="/article/1891968636713758720.htm"
                           title="springcloudalibaba组件gateway" target="_blank">springcloudalibaba组件gateway</a>
                        <span class="text-muted">zzyh123456</span>
<a class="tag" taget="_blank" href="/search/gateway/1.htm">gateway</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>SpringCloudAlibaba组件中的Gateway是一个基于SpringCloudGateway实现的API网关,它专为微服务架构提供简单且有效的API路由管理方式。以下是对SpringCloudAlibabaGateway的详细介绍:一、基本概念API网关:作为系统的统一入口,提供内部服务的路由中转,为客户端提供统一服务。网关可以处理一些与业务本身功能无关的公共逻辑,如认证、鉴权、监控、</div>
                    </li>
                    <li><a href="/article/1891968639247118336.htm"
                           title="springcloud的组件及作用" target="_blank">springcloud的组件及作用</a>
                        <span class="text-muted">zzyh123456</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>SpringCloud是一个用于构建分布式系统的工具集,它提供了一系列组件来简化微服务架构的开发和部署。以下是一些关键的SpringCloud组件及其作用:1.服务注册与发现Eureka:Eureka是SpringCloud中的核心组件之一,用于实现服务注册与发现。服务实例通过EurekaServer进行注册,消费者通过EurekaServer查询服务实例的地址,实现服务的自动发现和调用。Eure</div>
                    </li>
                    <li><a href="/article/1891968257292824576.htm"
                           title="C++Primer学习(4.6成员访问运算符)" target="_blank">C++Primer学习(4.6成员访问运算符)</a>
                        <span class="text-muted">黑果果的思考</span>
<a class="tag" taget="_blank" href="/search/%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0C%2B%2B/1.htm">零基础学习C++</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>4.6成员访问运算符点运算符和箭头运算符都可用于访问成员,其中,点运算符获取类对象的一个成员;箭头运算符与点运算符有关,表达式ptr->mem等价于(*ptr).mem:stringsl="astring",*p=&s1;auton=s1.size();//运行string对象s1的size成员n=(*p).size();//运行p所指对象的size成员n=p->size();//等价于(*p).</div>
                    </li>
                    <li><a href="/article/1891968257917775872.htm"
                           title="【数据结构】清华出版社-刘小晶、朱蓉《数据结构渐进实践指导》第一章(个人手打版)" target="_blank">【数据结构】清华出版社-刘小晶、朱蓉《数据结构渐进实践指导》第一章(个人手打版)</a>
                        <span class="text-muted">shixiexunnie</span>
<a class="tag" taget="_blank" href="/search/%E7%AB%8B%E5%BF%97%E4%BB%8E0%E5%88%B0c%2B%2B%E5%85%A8%E6%A0%88%E5%BF%97/1.htm">立志从0到c++全栈志</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>文章目录1_1_SqList.cpp1_1_LinkList.cpp1_1_SqList.cpp#include#include#definesql_size100//线性表初始分配空间的容量#definekuo10//线性表扩展空间的量#defineERROR0#defineOK1#defineOVERFLOW-2typedefintElemType;//数据元素的抽象数据类型,一般为intty</div>
                    </li>
                    <li><a href="/article/1891967375822090240.htm"
                           title="微服务架构中的负载均衡与服务注册中心(Nacos)" target="_blank">微服务架构中的负载均衡与服务注册中心(Nacos)</a>
                        <span class="text-muted">ღ᭄ꦿ࿐Never say never꧂</span>
<a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>1.负载均衡:解决实际业务问题1.1业务场景思考想象一个电子商务平台的微服务架构。我们有一个订单服务和多个用户服务实例。当订单服务需要调用用户服务时,它如何选择具体调用哪一台用户服务器?这就是负载均衡要解决的核心问题。1.2常用负载均衡算法及其业务影响1.2.1轮询(RoundRobin)原理:请求依次分配给每个服务器。业务影响:优点:实现简单,在服务器性能相近的情况下能达到较好的负载平衡。缺点:</div>
                    </li>
                    <li><a href="/article/1891967249607094272.htm"
                           title="【JVM】详解直接内存" target="_blank">【JVM】详解直接内存</a>
                        <span class="text-muted">起名方面没有灵感</span>
<a class="tag" taget="_blank" href="/search/JVM/1.htm">JVM</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>文章目录1.直接内存概述2.直接内存的使用2.1Java缓冲区2.2直接内存3.直接内存的释放3.1直接内存释放原理4.禁用显式回收对直接内存的影响1.直接内存概述下面是《深入理解Java虚拟机第三版》2.2.7小节关于Java直接内存的描述。直接内存(DirectMemory)并不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。但是这部分内存也被频繁地使用,而且也可能</div>
                    </li>
                    <li><a href="/article/1891966996325658624.htm"
                           title="【微服务】Nacos Discovery--服务治理" target="_blank">【微服务】Nacos Discovery--服务治理</a>
                        <span class="text-muted">SoftwareDevOps</span>
<a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/Nacos/1.htm">Nacos</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83/1.htm">微服务注册中心</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E6%B2%BB%E7%90%86/1.htm">服务治理</a>
                        <div>NacosDiscovery--服务治理前言服务治理常见的注册中心ZookeeperEurekaConsulNacosNacos入门搭建nacos环境将商品微服务注册到nacos将订单微服务注册到nacos总结前言上一章中,我们利用用户–订单–商品,实现了三个简单的微服务,实现了微服务之间的调用。但不知道大家有没有发现,我们是通过硬编码的方式,把服务者,消费者的服务Url,写到了代码中,这样做肯定</div>
                    </li>
                    <li><a href="/article/1891966618314010624.htm"
                           title="Redis Cluster入门指南:原来分布式缓存可以这么简单!" target="_blank">Redis Cluster入门指南:原来分布式缓存可以这么简单!</a>
                        <span class="text-muted">weixin_42587823</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>RedisCluster入门指南:原来分布式缓存可以这么简单!一、当Redis单机顶不住了怎么办?想象你经营着一家网红奶茶店,最初只有1个收银员(单机Redis),每天能处理500杯订单。但突然有一天订单量暴涨到5000杯,收银员手忙脚乱,队伍排到马路对面——这就是单机Redis遇到高并发时的真实写照。这时聪明的店长会怎么做?不是让收银员007加班,而是:增加多个收银台(分片存储)每个收银台配备备</div>
                    </li>
                    <li><a href="/article/1891966366047596544.htm"
                           title="Kubernetes 服务发现背后的秘密武器——CoreDNS" target="_blank">Kubernetes 服务发现背后的秘密武器——CoreDNS</a>
                        <span class="text-muted">weixin_42587823</span>
<a class="tag" taget="_blank" href="/search/dns/1.htm">dns</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0/1.htm">服务发现</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/coredns/1.htm">coredns</a>
                        <div>Kubernetes服务发现背后的秘密武器——CoreDNS在Kubernetes集群中,CoreDNS是一个关键的基础组件,负责域名解析和服务发现。无论是内部服务通信还是访问外部域名,CoreDNS都为我们提供了高效、灵活的支持。本文将通俗易懂地介绍CoreDNS的作用、工作流程,并通过一些常见的配置案例帮助你更好地理解它的功能。CoreDNS的作用服务名称解析CoreDNS负责将Kuberne</div>
                    </li>
                    <li><a href="/article/1891965985401925632.htm"
                           title="Unity UI优化总结" target="_blank">Unity UI优化总结</a>
                        <span class="text-muted">Don里个冬</span>
<a class="tag" taget="_blank" href="/search/Unity3D%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/1.htm">Unity3D技术分享</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/unity3d/1.htm">unity3d</a><a class="tag" taget="_blank" href="/search/ugui/1.htm">ugui</a>
                        <div>UnityUI优化总结前言最近又再一次回顾总结了一下UnityUI的优化,在此作下笔记,供学习参考。核心四大问题在Unity中UI优化的核心问题就是重绘和批处理之间的平衡。虽然说可以通过一些简单的技巧单方面地减少批次或者减少重绘,但进行过一波优化之后,最终还是要面临批次和重绘的平衡问题的。常见的四大UI优化问题:1、片段着色器利用率过高(或者说GPUfill-rate填充率过高),即每个片段处理的</div>
                    </li>
                    <li><a href="/article/1891965987805261824.htm"
                           title="mysql 记录客户端ip_MySQL查看所有连接的客户端ip" target="_blank">mysql 记录客户端ip_MySQL查看所有连接的客户端ip</a>
                        <span class="text-muted">辉萱0623</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E8%AE%B0%E5%BD%95%E5%AE%A2%E6%88%B7%E7%AB%AFip/1.htm">记录客户端ip</a>
                        <div>有时候我们需要查看当前的mysql数据库中,有哪些客户端保持了连接,每个客户端分别保持了多少连接,可以使用下面的语句查询结果,可以直观的看到连接数。SELECTsubstring_index(host,':',1)AShostname,state,count(*)FROMinformation_schema.processlistGROUPBYstate,hostname;输出结果:mysql>S</div>
                    </li>
                    <li><a href="/article/1891965733051625472.htm"
                           title="python 山脊图_(数据科学学习手札98)纯Python绘制满满艺术感的山脊地图" target="_blank">python 山脊图_(数据科学学习手札98)纯Python绘制满满艺术感的山脊地图</a>
                        <span class="text-muted">weixin_39780255</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%B1%B1%E8%84%8A%E5%9B%BE/1.htm">山脊图</a>
                        <div>1简介下面的这幅图可能很多读者朋友们都看到过,这是英国摇滚乐队JoyDivision在1979年发行的其第一张录音室专辑UnknownPleasures的封面,由艺术家PeterSaville基于射电脉冲星信号的数据图创作而成,成为了一种流行文化的符号标志。图1类似图1的风格,在地图制作中也存在着一种山脊地图,基于记录地表海拔信息的高程数据,我们可以利用水平方向上的基于实际位置海拔高度的曲线,来对</div>
                    </li>
                    <li><a href="/article/1891964977246433280.htm"
                           title="[学习笔记-SLAM篇]Ubuntu16.04+ROS下配置ORB-SLAM3——后续" target="_blank">[学习笔记-SLAM篇]Ubuntu16.04+ROS下配置ORB-SLAM3——后续</a>
                        <span class="text-muted">warningm_dm</span>
<a class="tag" taget="_blank" href="/search/SLAM%E7%AF%87/1.htm">SLAM篇</a>
                        <div>作为一篇后记,就主要做补充之用。索引1.编译不显示warning2.LocalMapping报错3.KannalaBrandt8报错4.RGB-D设置文件1.编译不显示warning编译的过程中有报错,但是一贯的,warning太多了,所以修改一下,便于找错。参考ubuntu18.04配置ORB-SLAM3。将ORB-SLAM3的CMakeLists.txt中的-Wall后面加上-w,可屏蔽编译的</div>
                    </li>
                    <li><a href="/article/1891964725013573632.htm"
                           title="Redis 集群模式的工作原理能说一下么?" target="_blank">Redis 集群模式的工作原理能说一下么?</a>
                        <span class="text-muted">小新杂谈社</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF%E9%9D%A2%E8%AF%95/1.htm">后端面试</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>面试题Redis集群模式的工作原理能说一下么?在集群模式下,Redis的key是如何寻址的?分布式寻址都有哪些算法?了解一致性hash算法吗?面试官心理分析在前几年,Redis如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有codis,或者twemproxy,都有。有一些Redis中间件,你读写Redis中间件,Redis中间件负责将你的数据分布式存储在多台机器上的Re</div>
                    </li>
                    <li><a href="/article/1891964596982444032.htm"
                           title="2024年AI虚拟伴侣应用趋势深度剖析:技术前沿与社会影响" target="_blank">2024年AI虚拟伴侣应用趋势深度剖析:技术前沿与社会影响</a>
                        <span class="text-muted">花生糖@</span>
<a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E7%A7%91%E6%99%AE/1.htm">技术科普</a><a class="tag" taget="_blank" href="/search/AIGC%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99%E5%BA%93/1.htm">AIGC学习资料库</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/AI%E6%95%B0%E5%AD%97%E4%BA%BA/1.htm">AI数字人</a><a class="tag" taget="_blank" href="/search/aigc/1.htm">aigc</a><a class="tag" taget="_blank" href="/search/%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86/1.htm">产品经理</a>
                        <div>随着人工智能技术的飞速发展,AI虚拟伴侣市场在2024年迎来了前所未有的繁荣期。这一新兴领域不仅验证了产品与市场的高度契合(Product-MarketFit,PMF),而且正逐步成为连接用户、流量与商业价值的桥梁。本文旨在深入探讨驱动AI伴侣行业爆炸性增长的关键趋势,并分析背后的技术动向及社会心理因素,为创业者和开发者提供一份全面的参考指南。一、市场概览:AI伴侣的崛起近年来,以Characte</div>
                    </li>
                    <li><a href="/article/1891964597938745344.htm"
                           title="AI与育儿领域的融合——探索未来的可能性" target="_blank">AI与育儿领域的融合——探索未来的可能性</a>
                        <span class="text-muted">花生糖@</span>
<a class="tag" taget="_blank" href="/search/AIGC%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99%E5%BA%93/1.htm">AIGC学习资料库</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/AI%E5%88%9B%E4%B8%9A%E7%82%B9/1.htm">AI创业点</a><a class="tag" taget="_blank" href="/search/%E5%88%9B%E6%84%8F%E7%82%B9/1.htm">创意点</a>
                        <div>在当今快速发展的社会中,育儿成为了众多家庭面临的重大挑战。随着人工智能(AI)技术的不断进步,AI在育儿领域的应用逐渐展现出巨大的潜力,不仅能够为父母提供及时有效的支持,还能在很大程度上改善育儿体验。本文旨在探讨AI技术如何与育儿领域相结合,创造新的商业机会,以及未来的发展趋势。一、AI解决育儿的核心痛点育儿是一项复杂的工作,涉及广泛的知识和技能。然而,专业的育儿服务通常价格昂贵,许多家庭无法承担</div>
                    </li>
                    <li><a href="/article/1891964598672748544.htm"
                           title="二十redis之gossip协议" target="_blank">二十redis之gossip协议</a>
                        <span class="text-muted">我爱看明朝</span>
<a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>二十redis之gossip协议gossip协议是p2p方式的通信协议。通过节点之间不断交换信息,一段时间后所有节点都会知道整个集群完整的信息。gossip算法,意思是八卦算法,在办公室中只要一个人八卦一下,在有限的时间内,办公室内的所有人都会知道八卦消息。算法过程:集群中的一个节点广播自身信息,部分节点收到了信息,这些节点再继续在集群中传播这个节点的信息,一段时间后整个集群中都有了这个节点的信息</div>
                    </li>
                    <li><a href="/article/1891963337533616128.htm"
                           title="三级等保项目设备清单及高风险项整改方向" target="_blank">三级等保项目设备清单及高风险项整改方向</a>
                        <span class="text-muted">故事讲予风听</span>
<a class="tag" taget="_blank" href="/search/%E7%AD%89%E4%BF%9D/1.htm">等保</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E7%AD%89%E4%BF%9D/1.htm">等保</a><a class="tag" taget="_blank" href="/search/%E7%AD%89%E7%BA%A7%E4%BF%9D%E6%8A%A4/1.htm">等级保护</a>
                        <div>目录一、三级等保项目所需设备清单1.安全物理环境2.安全通信网络3.安全区域边界4.安全计算环境5.安全管理中心二、三级等保测评的高风险项分析与整改方向1.高风险项判定依据2.三级系统高风险项整改方向技术方面管理方面结语随着信息安全形势的日益严峻,构建“一个中心,三重防护”的多级防护体系成为保障信息系统安全运行的重要举措。针对三级等保项目,不仅在安全物理环境、通信网络、安全区域边界、安全计算环境以</div>
                    </li>
                    <li><a href="/article/1891963209171136512.htm"
                           title="【人工智能】AI现状分析 || 神经网络的数学基础 || 人工智能交叉领域的发展和技术应用 || 附:小白入门人工智能 学习步骤" target="_blank">【人工智能】AI现状分析 || 神经网络的数学基础 || 人工智能交叉领域的发展和技术应用 || 附:小白入门人工智能 学习步骤</a>
                        <span class="text-muted">追光者♂</span>
<a class="tag" taget="_blank" href="/search/Python%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">Python从入门到人工智能</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E9%A2%98%E5%8D%83%E8%A7%A3%E8%AE%A1%E5%88%92%28%E9%A1%B9%E7%9B%AE/1.htm">百题千解计划(项目</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%88%98/1.htm">实战</a><a class="tag" taget="_blank" href="/search/%E6%A1%88%E4%BE%8B%EF%BC%89/1.htm">案例)</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E4%BA%A4%E5%8F%89%E9%A2%86%E5%9F%9F/1.htm">交叉领域</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E7%9A%84%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/1.htm">神经网络的数学基础</a><a class="tag" taget="_blank" href="/search/AI%E7%8E%B0%E7%8A%B6%E5%88%86%E6%9E%90/1.htm">AI现状分析</a>
                        <div>声明:仅学习使用~资料整理分析不易,点个赞吧!目录1.AI现状分析(人工智能基础入门概念)1.1人工智能基础概念1.2人工智能的技术发展路线1.3产业发展的驱动因素1.4人工智能薪资岗位介绍2.神经网络的数学基础2.1神经网络的生物表示2.2神经网络的数学表示2.3神经网络必备的一些数学基础2.3.1Sigmoid函数2.3.2偏置2.4总结3.人工智能交叉领域的发展和技术应用3.1人工智能应用交</div>
                    </li>
                    <li><a href="/article/1891962953285038080.htm"
                           title="linux查找文件里面的内容,快捷键" target="_blank">linux查找文件里面的内容,快捷键</a>
                        <span class="text-muted">德玛西亚没有明天</span>

                        <div>vimaa.php输入/keyword,keyword是需要查找的关键字,按Enter健,进行搜索关键字;按键n跳至下一个匹配</div>
                    </li>
                    <li><a href="/article/1891962827082625024.htm"
                           title="RPC(3)--基于 Nacos 的服务发现与负载均衡版" target="_blank">RPC(3)--基于 Nacos 的服务发现与负载均衡版</a>
                        <span class="text-muted">三喂树屋</span>
<a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0/1.htm">服务发现</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a>
                        <div>nacos:提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。nacos架构如下(图片来源)依赖包:com.alibaba.nacosnacos-client1.3.0使用如下://创建命名服务NamingServicenamingService=NamingFacto</div>
                    </li>
                    <li><a href="/article/1891962574048653312.htm"
                           title="Flutter:动态表单(在不确定字段的情况下,生成动态表单)" target="_blank">Flutter:动态表单(在不确定字段的情况下,生成动态表单)</a>
                        <span class="text-muted">sunly_</span>
<a class="tag" taget="_blank" href="/search/Flutter/1.htm">Flutter</a><a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>关于数据模型:模型就是一种规范约束,便于维护管理,在不确定表单内会出现什么数据时,就没有模型一说。这时就要用到动态表单(根据接口返回的字段,生成动态表单)1、观察数据格式,定义模型modelData:[{id:1,name:'模型一',ctaVal:{"first_usdt":{"val":"10","title":"首仓金额","unit":"usdt","read":"0"},}},{id:2</div>
                    </li>
                    <li><a href="/article/1891962574816210944.htm"
                           title="LVS高性能原因揭秘" target="_blank">LVS高性能原因揭秘</a>
                        <span class="text-muted">天亮i</span>

                        <div>请你做好思考的准备,跟着我的思路,去一点一点,把这么一个知识的历程,把它研究透彻,你会受益匪浅。OSI网络分层我们都应该知道,有OSI网络分层模型这么一个概念。此外,由于我们学的是软件工程学,为什么有一个工程这俩字在里面,那就说明了不是纯学术上的一个研究,是有具体的工程去做的。那么就涉及到分层解耦这么一个思想,任何一个层,只需要关心它这一层的事,而不用去管其它层具体是怎么做的。那么,对于每一层,就</div>
                    </li>
                    <li><a href="/article/1891961691613229056.htm"
                           title="哈希表总结-C语言版" target="_blank">哈希表总结-C语言版</a>
                        <span class="text-muted">vanguard2021</span>
<a class="tag" taget="_blank" href="/search/Leetcode%E5%88%B7%E9%A2%98/1.htm">Leetcode刷题</a><a class="tag" taget="_blank" href="/search/%E5%93%88%E5%B8%8C%E8%A1%A8/1.htm">哈希表</a>
                        <div>目录1、哈希表的原理2、自己实现的hash表--C语言版3、C语言开源项目uthash.h中的hash接口使用指南3.1uthash.h头文件说明3.2常见的uthash.h接口以及使用方法4、实践应用参考资料:1、哈希表的原理哈希表的关键思想是使用哈希函数将键映射到存储桶。更确切地说,当我们插入一个新的键时,哈希函数将决定该键应该分配到哪个桶中,并将该键存储在相应的桶中;当我们想要搜索一个键时,</div>
                    </li>
                    <li><a href="/article/1891961692032659456.htm"
                           title="RocketMQ源码分析-Rpc通信模块(remoting)二" target="_blank">RocketMQ源码分析-Rpc通信模块(remoting)二</a>
                        <span class="text-muted">吃水果的猪儿虫</span>
<a class="tag" taget="_blank" href="/search/java-rocketmq/1.htm">java-rocketmq</a><a class="tag" taget="_blank" href="/search/rocketmq/1.htm">rocketmq</a><a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a>
                        <div>前言今天继续RocketMQ-Rpc通信模块(remoting)的源码分析。上一章提到了主要的start()方法执行流程,如果有不清楚的地方可以一起讨论哈,这篇文章会继续解读主要方法,按照惯例先看看NettyRemotingAbstract的类图,看类图知方法。和NettyEventExecutor以及MQ的交互流程。按照惯例先看看NettyRemotingAbstract的类图,看类图知方法,文</div>
                    </li>
                    <li><a href="/article/1891961692598890496.htm"
                           title="MATLAB算法实战应用案例精讲-【目标检测】机器视觉-工业相机(补充篇)" target="_blank">MATLAB算法实战应用案例精讲-【目标检测】机器视觉-工业相机(补充篇)</a>
                        <span class="text-muted">林聪木</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%A0%81%E7%9B%B8%E6%9C%BA/1.htm">数码相机</a><a class="tag" taget="_blank" href="/search/matlab/1.htm">matlab</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>目录知识储备光学系统设计全过程算法原理工业相机基本参数以及选型工业相机基本参数:如何选择合适的工业相机:分辨率分辨率的定义与“检测/测量精度”的区别分辨率与相机的匹配相机关键参数设置工业相机的曝光、曝光时间、快门、增益什么是曝光?什么是快门影响曝光的因素工业相机-坐标系和机械手坐标系的标定工业相机-缺陷检测一、相机的选择(1)工业数字相机的分类:(2)相机的主要参数(3)工业数字摄像机主要接口类型</div>
                    </li>
                    <li><a href="/article/1891961061465190400.htm"
                           title="RocketMQ七、rocketMQ的网络通信模块" target="_blank">RocketMQ七、rocketMQ的网络通信模块</a>
                        <span class="text-muted">vinylon1022</span>
<a class="tag" taget="_blank" href="/search/RocketMQ/1.htm">RocketMQ</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/alibaba/1.htm">alibaba</a><a class="tag" taget="_blank" href="/search/RocketMQ/1.htm">RocketMQ</a>
                        <div>关于rocketMQ的netty消息处理,实际上都在一个rocketmq-remoting模块中。不管是nameserver还是broker,从netty的handler开始是统一的结构。我们先以nameserver部分的跟踪一下。前一篇看到过netty的启动,我们回过来再看一下:@Overridepublicvoidstart(){...prepareSharableHandlers();Ser</div>
                    </li>
                    <li><a href="/article/1891961060445974528.htm"
                           title="微调alpaca-lora遇到的一些问题" target="_blank">微调alpaca-lora遇到的一些问题</a>
                        <span class="text-muted">自学AI的鲨鱼儿</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E8%AE%AD%E7%BB%83/1.htm">训练</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E7%AC%94%E8%AE%B0/1.htm">个人笔记</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a>
                        <div>目录一、环境简介二、混合精度训练Tensor相互计算会报错三、推理加载lora报错:SafetensorError:Errorwhiledeserializingheader:InvalidHeaderDeserialization四、peft(版本0.9.0)save_pretrained不保存adapter_model.bin五、一些代码注释六、问题问答6.1、model已经使用了load_i</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>