js如何通过a链接跳转到另一个页面获取复选框选中的内容_鹅厂是如何把握极致前端性能监控的?...

作者:TNFE大鹏哥

原文链接:https://zhuanlan.zhihu.com/p/65065472

在同样的网络环境下,有两个同样能满足你的需求的网站,一个唰的一下就加载出来了,另一个白屏转圈转了半天内容才出来,如果让你选择,你会用哪一个?

页面的性能问题是前端开发中一个重要环节,但一直以来我们没有比较好的手段,来检测页面的性能。直到W3C性能小组引入的新的API window.performance,目前IE9以上的浏览器都支持。它是一个浏览器中用于记录页面加载和解析过程中关键时间点的对象。放置在global环境下,通过JavaScript可以访问到它。

使用性能API

你可以通过以下方法来探测和兼容performance:

var performance = window.performance ||     window.msPerformance ||     window.webkitPerformance;if (performance) {
          // 你的代码}

先来了解一下performance的结构

performance.memory是显示此刻内存占用情况,它是一个动态值,其中:
usedJSHeapSize表示:JS 对象(包括V8引擎内部对象)占用的内存数
totalJSHeapSize表示:可使用的内存
jsHeapSizeLimit表示:内存大小限制
通常,usedJSHeapSize不能大于totalJSHeapSize,如果大于,有可能出现了内存泄漏。

performance.navigation显示页面的来源信息,其中:
redirectCount表示:如果有重定向的话,页面通过几次重定向跳转而来,默认为0
type表示页面打开的方式,
0 表示 TYPE_NAVIGATENEXT 正常进入的页面(非刷新、非重定向等)
1 表示 TYPE_RELOAD 通过 window.location.reload() 刷新的页面
2 表示 TYPE_BACK_FORWARD 通过浏览器的前进后退按钮进入的页面(历史记录)
255 表示 TYPE_UNDEFINED 非以上方式进入的页面

performance.onresourcetimingbufferfull 属性是一个在resourcetimingbufferfull事件触发时会被调用的 event handler 。它的值是一个手动设置的回调函数,这个回调函数会在浏览器的资源时间性能缓冲区满时执行。

performance.timeOrigin是一系列时间点的基准点,精确到万分之一毫秒。

performance.timing是一系列关键时间点,它包含了网络、解析等一系列的时间数据。

下面是对这些时间点进行解释

timing: {
              // 同一个浏览器上一个页面卸载(unload)结束时的时间戳。如果没有上一个页面,这个值会和fetchStart相同。    navigationStart: 1543806782096,    // 上一个页面unload事件抛出时的时间戳。如果没有上一个页面,这个值会返回0。    unloadEventStart: 1543806782523,    // 和 unloadEventStart 相对应,unload事件处理完成时的时间戳。如果没有上一个页面,这个值会返回0。    unloadEventEnd: 1543806782523,    // 第一个HTTP重定向开始时的时间戳。如果没有重定向,或者重定向中的一个不同源,这个值会返回0。    redirectStart: 0,    // 最后一个HTTP重定向完成时(也就是说是HTTP响应的最后一个比特直接被收到的时间)的时间戳。    // 如果没有重定向,或者重定向中的一个不同源,这个值会返回0.     redirectEnd: 0,    // 浏览器准备好使用HTTP请求来获取(fetch)文档的时间戳。这个时间点会在检查任何应用缓存之前。    fetchStart: 1543806782096,    // DNS 域名查询开始的UNIX时间戳。        //如果使用了持续连接(persistent connection),或者这个信息存储到了缓存或者本地资源上,这个值将和fetchStart一致。    domainLookupStart: 1543806782096,    // DNS 域名查询完成的时间.    //如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等    domainLookupEnd: 1543806782096,    // HTTP(TCP) 域名查询结束的时间戳。        //如果使用了持续连接(persistent connection),或者这个信息存储到了缓存或者本地资源上,这个值将和 fetchStart一致。    connectStart: 1543806782099,    // HTTP(TCP) 返回浏览器与服务器之间的连接建立时的时间戳。        // 如果建立的是持久连接,则返回值等同于fetchStart属性的值。连接建立指的是所有握手和认证过程全部结束。    connectEnd: 1543806782227,    // HTTPS 返回浏览器与服务器开始安全链接的握手时的时间戳。如果当前网页不要求安全连接,则返回0。    secureConnectionStart: 1543806782162,    // 返回浏览器向服务器发出HTTP请求时(或开始读取本地缓存时)的时间戳。    requestStart: 1543806782241,    // 返回浏览器从服务器收到(或从本地缓存读取)第一个字节时的时间戳。        //如果传输层在开始请求之后失败并且连接被重开,该属性将会被数制成新的请求的相对应的发起时间。    responseStart: 1543806782516,    // 返回浏览器从服务器收到(或从本地缓存读取,或从本地资源读取)最后一个字节时        //(如果在此之前HTTP连接已经关闭,则返回关闭时)的时间戳。    responseEnd: 1543806782537,    // 当前网页DOM结构开始解析时(即Document.readyState属性变为“loading”、相应的 readystatechange事件触发时)的时间戳。    domLoading: 1543806782573,    // 当前网页DOM结构结束解析、开始加载内嵌资源时(即Document.readyState属性变为“interactive”、相应的readystatechange事件触发时)的时间戳。    domInteractive: 1543806783203,    // 当解析器发送DOMContentLoaded 事件,即所有需要被执行的脚本已经被解析时的时间戳。    domContentLoadedEventStart: 1543806783203,    // 当所有需要立即执行的脚本已经被执行(不论执行顺序)时的时间戳。    domContentLoadedEventEnd: 1543806783216,    // 当前文档解析完成,即Document.readyState 变为 'complete'且相对应的readystatechange 被触发时的时间戳    domComplete: 1543806783796,    // load事件被发送时的时间戳。如果这个事件还未被发送,它的值将会是0。    loadEventStart: 1543806783796,    // 当load事件结束,即加载事件完成时的时间戳。如果这个事件还未被发送,或者尚未完成,它的值将会是0.    loadEventEnd: 1543806783802}

这些参数非常有用,可以帮助我们获取页面的Domready时间、onload时间、白屏时间等,以及单个页面资源在从发送请求到获取到rsponse各阶段的性能参数。

对我们比较有用的页面性能数据大概包括如下几个,这些参数是通过上面的performance.timing各个属性的差值组成的,它是精确到毫秒的一个值,计算方法如下:

  • 重定向耗时:redirectEnd - redirectStart

  • DNS查询耗时 :domainLookupEnd - domainLookupStart

  • TCP链接耗时 :connectEnd - connectStart

  • HTTP请求耗时 :responseEnd - responseStart

  • 解析dom树耗时 :domComplete - domInteractive

  • 白屏时间 :responseStart - navigationStart

  • DOMready时间 :domContentLoadedEventEnd - navigationStart

  • onload时间:loadEventEnd - navigationStart,也即是onload回调函数执行的时间。

如何优化?

重定向优化:重定向的类型分三种,301(永久重定向),302(临时重定向),304(Not Modified)。304是用来优化缓存,非常有用,而前两种应该尽可能的避免,凡是遇到需要重定向跳转代码的代码,可以把重定向之后的地址直接写到前端的html或JS中,可以减少客户端与服务端的通信过程,节省重定向耗时。

DNS优化:一般来说,在前端优化中与 DNS 有关的有两点:一个是减少DNS的请求次数,另一个就是进行DNS预获取(Prefetching ) 。典型的一次DNS解析需要耗费 20-120 毫秒(移动端会更慢),减少DNS解析的次数是个很好的优化方式,尽量把各种资源放在一个cdn域名上。DNS Prefetching 是让具有此属性的域名不需要用户点击链接就在后台解析,而域名解析和内容载入是串行的网络操作,所以这个方式能减少用户的等待时间,提升用户体验 。新版的浏览器会对页面中和当前域名(正在浏览网页的域名)不在同一个域的域名进行预获取,并且缓存结果,这就是隐式的 DNS Prefetch。如果想对页面中没有出现的域进行预获取,那么就要使用显示的 DNS Prefetch 了。下图是DNS Prefetch的方法:

  腾讯网title>  <link rel="dns-prefetch" href="//mat1.gtimg.com"  />  <link rel="dns-prefetch" href="//inews.gtimg.com"  />  <link rel="dns-prefetch" href="//wx.qlogo.cn"  />  <link rel="dns-prefetch" href="//coral.qq.com" />  <link rel="dns-prefetch" href="//pingjs.qq.com"  /></code></pre> 
    <p><strong>TCP请求优化:</strong>TCP的优化大都在服务器端,前端能做的就是尽量减少TCP的请求数,也就是减少HTTP的请求数量。http 1.0 默认使用短连接,也是TCP的短连接,也就是客户端和服务端每进行一次http操作,就建立一次连接,任务结束就中断连接。这个过程中有3次TCP请求握手和4次TCP请求释放。减少TCP请求的方式有两种,一种是资源合并,对于页面内的图片、css和js进行合并,减少请求量。另一种使用长链接,使用http1.1,在HTTP的响应头会加上 Connection:keep-alive,当一个网页打开完成之后,连接不会马上关闭,再次访问这个服务时,会继续使用这个长连接。这样就大大减少了TCP的握手次数和释放次数。或者使用Websocket进行通信,全程只需要建立一次TCP链接。</p> 
    <p><strong>HTTP请求优化:</strong>使用内容分发网络(CDN)和减少请求。使用CDN可以减少网络的请求时延,CDN的域名不要和主站的域名一样,这样会防止访问CDN时还携带主站cookie的问题,对于网络请求,可以使用fetch发送无cookie的请求,减少http包的大小。也可以使用本地缓存策略,尽量减少对服务器数据的重复获取。</p> 
    <p><strong>渲染优化:</strong>在浏览器端的渲染过程,如大型框架,vue和react,它的模板其实都是在浏览器端进行渲染的,不是直出的html,而是要走框架中相关的框架代码才能去渲染出页面,这个渲染过程对于首屏就有较大的损耗,白屏的时间会有所增加。在必要的情况下可以在服务端进行整个html的渲染,从而将整个html直出到我们的浏览器端,而非在浏览器端进行渲染。</p> 
    <p><img alt="" src=""></p> 
    <p>还有一个问题就是,在默认情况下,JavaScript 执行会“阻止解析器”,当浏览器遇到一个 script 外链标记时,DOM 构建将暂停,会将控制权移交给 JavaScript 运行时,等脚本下载执行完毕,然后再继续构建 DOM。而且内联脚本始终会阻止解析器,除非编写额外代码来推迟它们的执行。我们可以把 script 外链加入到页面底部,也可以使用 defer 或 async 延迟执行。defer 和 async 的区别就是 defer 是有序的,代码的执行按在html中的先后顺序,而 async 是无序的,只要下载完毕就会立即执行。或者使用异步的编程方法,比如settimeout,也可以使用多线webworker,它们不会阻碍 DOM 的渲染。</p> 
    <pre class="has"><code><script async type="text/javascript" src="app1.js">script><script defer type="text/javascript" src="app2.js">script></code></pre> 
    <h2><span style="font-weight:bold;"><strong><span style="font-weight:bold;">资源性能API</span></strong></span></h2> 
    <p>performance.timing记录的是用于分析页面整体性能指标。如果要获取个别资源(例如JS、图片)的性能指标,就需要使用Resource Timing API。</p> 
    <p><strong>performance.getEntries()</strong>方法,包含了所有静态资源的数组列表;每一项是一个请求的相关参数有name,type,时间等等。下图是chrome显示腾讯网的相关资源列表。</p> 
    <p><img alt="" src=""></p> 
    <p>可以看到,与 performance.timing 对比:没有与 DOM 相关的属性,新增了<code>name</code>、<code>entryType</code>、<code>initiatorType</code>和<code>duration</code>四个属性。它们是:</p> 
    <ul> 
     <li><p>name表示:资源名称,也是资源的绝对路径,可以通过performance.getEntriesByName(name属性的值),来获取这个资源加载的具体属性。</p></li> 
     <li><p>entryType表示:资源类型 "resource",还有“navigation”, “mark”, 和 “measure”另外3种。</p></li> 
    </ul> 
    <p><img alt="" src=""></p> 
    <ul> 
     <li><p>initiatorType表示:请求来源 "link",即表示 标签,还有“script”即 </p></li> 
    </ul> 
   </div> 
  </div> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1353129630252478464"></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">你可能感兴趣的:(js如何通过a链接跳转到另一个页面获取复选框选中的内容_鹅厂是如何把握极致前端性能监控的?...)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1898262161369657344.htm"
                           title="uniapp清除所有缓存" target="_blank">uniapp清除所有缓存</a>
                        <span class="text-muted">技术需要沉淀gogo</span>
<a class="tag" taget="_blank" href="/search/uniapp%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%9B%B8%E5%85%B3/1.htm">uniapp微信小程序相关</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</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>使用场景:退出登录的时候解绑之后清除所有缓存uni.clearStorageSync();uni.showModal({title:"提示",content:"确定要退出登录吗?",success:(res)=>{if(res.confirm){uni.showToast({title:res.Message,icon:"none"})uni.clearStorageSync();uni.reLa</div>
                    </li>
                    <li><a href="/article/1898261783072796672.htm"
                           title="329.大学生HTML期末大作业 —【纪念鲁迅文化主题网页】 Web前端网页制作 html+css" target="_blank">329.大学生HTML期末大作业 —【纪念鲁迅文化主题网页】 Web前端网页制作 html+css</a>
                        <span class="text-muted">一只小小的眠羊</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%AD%A6%E7%94%9F%E6%9C%9F%E6%9C%AB%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">大学生期末大作业</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E5%8C%96/1.htm">文化</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a>
                        <div>目录一、更多推荐二、网页简介三、网页文件四、网页效果五、代码展示1.html2.CSS六、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强一、更多推荐欢迎来到我的CSDN主页!您的支持是我创作的动力!Web前端网页制作、网页完整代码、大学生期末大作业案例模板完整代码、技术交流等,有兴趣的联系我交流学习!更多优质博客文章、网页模板点击以下链接查阅:仙女网页设计-CSDN博客5000+</div>
                    </li>
                    <li><a href="/article/1898261153071558656.htm"
                           title="异步IO时代的颠覆者:深入探讨io_uring" target="_blank">异步IO时代的颠覆者:深入探讨io_uring</a>
                        <span class="text-muted">深度Linux</span>
<a class="tag" taget="_blank" href="/search/C%2FC%2B%2B%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91/1.htm">C/C++全栈开发</a><a class="tag" taget="_blank" href="/search/Linux%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86/1.htm">Linux进程管理</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/C%2FC%2B%2B/1.htm">C/C++</a><a class="tag" taget="_blank" href="/search/%E5%BC%82%E6%AD%A5IO/1.htm">异步IO</a>
                        <div>大家好,我是深度Linux,今天我们将一同踏入Linux操作系统中一个令人兴奋的领域io_uring。在当今这个对计算性能和效率不断追求极致的时代,高效的输入输出(I/O)操作成为了决定系统整体表现的关键因素之一。Linux作为广泛应用于服务器、云计算、嵌入式系统等众多领域的强大操作系统,一直在不断探索和创新I/O技术,以满足日益增长的性能需求。而io_uring正是Linux在异步I/O方面的一</div>
                    </li>
                    <li><a href="/article/1898261026634264576.htm"
                           title="ZooKeeper 的 Watch 机制是什么?" target="_blank">ZooKeeper 的 Watch 机制是什么?</a>
                        <span class="text-muted">Shockang</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%8A%80%E6%9C%AF%E4%BD%93%E7%B3%BB/1.htm">大数据技术体系</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a>
                        <div>前言本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系正文Watch机制的简介ZooKeeper提供了分布式数据发布/订阅功能,一个典型的发布/订阅模型系统定义了一种一对多的订阅关系,能让多个订阅者同时监听某一个主题对象,当这个主题对象自身状态变化时,会通知所有订</div>
                    </li>
                    <li><a href="/article/1898261021647237120.htm"
                           title="网络安全工程师的职业规划?(非常详细),零基础入门到精通,看这一篇就够了_网络工程师职业决策" target="_blank">网络安全工程师的职业规划?(非常详细),零基础入门到精通,看这一篇就够了_网络工程师职业决策</a>
                        <span class="text-muted">QXXXD</span>
<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%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</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/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>文章目录前言一、就业工作岗位众多网络工程师的个人职业规划一、网络工程师的职业优势二、网络工程师解读计算机网络安全工程师怎么发展职业规划文末福利前言网络安全专业网络安全专业就业前景怎么样?有哪些就业方向?一、就业工作岗位众多网络安全专业毕业生就业的岗位较多,可以在计算机科学与技术、信息通信、电子商务、互联网金融、电子政务等领域从事相关工作。也可以在***机关事业单位,银行、保险、证券等金融机构,电信</div>
                    </li>
                    <li><a href="/article/1898260895528710144.htm"
                           title="明达云平台赋能车间设备管理" target="_blank">明达云平台赋能车间设备管理</a>
                        <span class="text-muted">明达技术</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a>
                        <div>在工业4.0浪潮席卷全球的今天,制造业正经历着前所未有的数字化转型。传统车间设备管理模式因数据孤岛、响应滞后等痛点,已难以满足企业高效运营与智能化升级的需求。而明达技术基于工业物联网(IIoT)的明达云平台解决方案,正成为破解这一困局的关键——它通过实时数据采集、智能分析与远程协作,让设备管理从"被动维护"转向"主动优化",为企业降本增效注入强劲动力。数据可视化:让设备状态一目了然传统车间设备管理</div>
                    </li>
                    <li><a href="/article/1898260391218180096.htm"
                           title="高并发场景下的UDP协议设计与实现:基于并发容器的实践" target="_blank">高并发场景下的UDP协议设计与实现:基于并发容器的实践</a>
                        <span class="text-muted">KBkongbaiKB</span>
<a class="tag" taget="_blank" href="/search/udp/1.htm">udp</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>引言:为什么需要并发容器处理UDP?在实时通信、物联网(IoT)、在线游戏等场景中,UDP协议因其低延迟和无连接特性被广泛使用。但当每秒需处理数万甚至百万级数据包时,如何保证线程安全与高效处理成为核心挑战。本文将结合并发容器,探讨如何构建高性能UDP服务端。一、UDP协议核心特性回顾1.1UDPvsTCP特性UDPTCP连接方式无连接面向连接可靠性不保证数据到达可靠传输头部开销8字节20-60字节</div>
                    </li>
                    <li><a href="/article/1898260012896153600.htm"
                           title="网络安全创刊 网络安全紫队" target="_blank">网络安全创刊 网络安全紫队</a>
                        <span class="text-muted">Hacker_Fuchen</span>
<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%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>目录基本概念攻防演习准备工作组织要素组织形式组织关键攻防演习不同阶段组织策划阶段前期准备阶段实战演习阶段应急演习阶段演习总结阶段演习风险规避措施如果错过互联网,与你擦肩而过的不仅仅是机会,而是整整一个时代。基本概念组织方。在演习中,负责演习组织,过程监控,技术指导,应急保障,风险控制,演习总结,技术措施与策略优化等工作。通过红蓝攻防检验参演单位安全威胁应对能力,攻击事件检测发现能力。事件分析研判能</div>
                    </li>
                    <li><a href="/article/1898260011243597824.htm"
                           title="搭建组件库vue(monorepo )" target="_blank">搭建组件库vue(monorepo )</a>
                        <span class="text-muted">GJE1048</span>
<a class="tag" taget="_blank" href="/search/%E7%BB%84%E4%BB%B6%E5%BA%93/1.htm">组件库</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</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>原笔记Eric'sWiki项目初始化shellmkdirtoy-elementcdtoy-elementgitinitcode.用vscode打开,既然是monorepo,那就先创建一个pnpm-workspace.yaml文件。shellmkdirpackagesecho-e'packages:\n-"packages/*"'>pnpm-workspace.yamlpnpminit创建.giti</div>
                    </li>
                    <li><a href="/article/1898259885016018944.htm"
                           title="LeetCode热题100JS(37/100)第七天|排序链表|合并K个升序链表|LRU缓存|二叉树的中序遍历|二叉树的最大深度|对称二叉树" target="_blank">LeetCode热题100JS(37/100)第七天|排序链表|合并K个升序链表|LRU缓存|二叉树的中序遍历|二叉树的最大深度|对称二叉树</a>
                        <span class="text-muted">Alicesflower</span>
<a class="tag" taget="_blank" href="/search/LeetCode%E7%83%AD%E9%A2%98100JS/1.htm">LeetCode热题100JS</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>148.排序链表题目链接:148.排序链表难度:中等刷题状态:1刷新知识:-`dic.reduceRight((t,c)=>(c.next=t,c),null)`方法从数组的末尾开始执行解题过程思考示例1:输入:head=[4,2,1,3]输出:[1,2,3,4]当然可以转成数组排序再生成链表,但我感觉这考点应该不是这个题解分析参考题解链接:240.搜索二维矩阵II(贪心,清晰图解)好吧,可以这么</div>
                    </li>
                    <li><a href="/article/1898259758540976128.htm"
                           title="Ollama在AutoDL部署,CPU服务器做代理,实践中" target="_blank">Ollama在AutoDL部署,CPU服务器做代理,实践中</a>
                        <span class="text-muted">张3蜂</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8EES-Solr/1.htm">搜索引擎ES-Solr</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>##我有两台服务器,一台是GPU服务器,另一台是CPU服务器;##我在GPU服务器上安装了Ollama,然后通过命令映射端口到CPU服务器:ssh-CNg-L0.0.0.0:11434:127.0.0.1:11434root@connect.westb.seetacloud.com-p34016##映射成功了在Cpu服务器通过curlhttp://127.0.0.1:11434可以看到响应内容:O</div>
                    </li>
                    <li><a href="/article/1898259632116264960.htm"
                           title="第七章、C语言指针全解(4)终章:混沌终焉!指针圣域的湮灭与重构!" target="_blank">第七章、C语言指针全解(4)终章:混沌终焉!指针圣域的湮灭与重构!</a>
                        <span class="text-muted">凤凰院凶涛QAQ</span>
<a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E6%9E%84/1.htm">重构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>第七章、C语言指针全解(4)终章:混沌终焉!指针圣域的湮灭与重构!文章目录第七章、C语言指针全解(4)终章:混沌终焉!指针圣域的湮灭与重构!一、回调函数:时间线跳跃的暗码二、qsort:混沌数据的归一仪式qsort的降序排列:三、冒泡排序模拟qsort:自制维度规整引擎四、sizeofvsstrlen:虚空测量的双生诅咒sizeofstrlen五、数组/指针题解:次元裂隙的审判日一维数组:字符数组</div>
                    </li>
                    <li><a href="/article/1898259619487215616.htm"
                           title="深入剖析:MongoDB 性能优化指南" target="_blank">深入剖析:MongoDB 性能优化指南</a>
                        <span class="text-muted">墨夶</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%991/1.htm">数据库学习资料1</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>亲爱的小伙伴们,今天我们要深入探讨MongoDB的性能优化。随着数据量的不断增长,确保数据库的高性能和稳定性变得尤为重要。无论是初创公司还是大型企业,合理地优化MongoDB性能都可以显著提升应用程序的整体表现。本文将详细介绍如何进行MongoDB性能优化,并分享一些关键的最佳实践。无论你是数据库管理员、开发人员还是运维工程师,都能从中受益。让我们一起开始这段精彩的旅程吧!1.为什么需要性能优化?</div>
                    </li>
                    <li><a href="/article/1898259612189126656.htm"
                           title="年末网络安全检查的清单" target="_blank">年末网络安全检查的清单</a>
                        <span class="text-muted">网络安全King</span>
<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%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>点击文末小卡片,免费获取网络安全全套资料,资料在手,涨薪更快《网络空间安全导论》第4、7(2)章第4章系统安全4.1操作系统概述计算机操作系统的功能包括:进程管理、内存管理、设备管理、文件管理、用户接口。4.2操作系统安全4.2.1操作系统的安全威胁与脆弱性操作系统的安全威胁包括:非法用户或假冒用户入侵系统、数据被非法破坏或者数据丢失、不明病毒的破坏和黑客入侵、操作系统运行不正常。操作系统的脆弱性</div>
                    </li>
                    <li><a href="/article/1898259485630197760.htm"
                           title="网络安全 如何构建DMZ区" target="_blank">网络安全 如何构建DMZ区</a>
                        <span class="text-muted">网络安全King</span>
<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/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>点击文末小卡片,免费获取网络安全全套资料,资料在手,涨薪更快当整个世界都越来越离不开网络,那么网络安全自然也就成为了重中之重。特别是那些曾经遭受过黑客攻击的企业,想必对于这一点的感受更是尤其深刻。7月31日,卡巴斯基实验室主办的“CyberInsights2018”网络安全大会在北京举行。本次大会是卡巴斯基实验室亚太区首届多城市“CyberInsights2018”安全路演系列活动,首发两站台北及</div>
                    </li>
                    <li><a href="/article/1898259233288286208.htm"
                           title="很常见的13种嵌入式实时系统,你知道哪些?" target="_blank">很常见的13种嵌入式实时系统,你知道哪些?</a>
                        <span class="text-muted">RTOS研究员</span>
<a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/RTOS/1.htm">RTOS</a><a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E8%BD%AF%E4%BB%B6/1.htm">嵌入式软件</a><a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a>
                        <div>满足实时控制要求的嵌入式操作系统(RTOS)是许多嵌入式开发项目的核心。以下介绍15种主流的RTOS,包括μClinux、μC/OS-II、eCos、FreeRTOS、mbedOS、RTX、VxWorks、QNX、AliOSThings、望获实时Linux、HuaweiLiteOS、RT-Thread、SylixOS。1.μClinuxμClinux是一种优秀的嵌入式Linux版本,全称为micr</div>
                    </li>
                    <li><a href="/article/1898259106947461120.htm"
                           title="光学超表面的人工智能" target="_blank">光学超表面的人工智能</a>
                        <span class="text-muted">Luis Li 的猫猫</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E4%B8%93%E5%8C%BA%E5%9F%BA%E7%A1%80%E5%8F%8A%E6%8B%93%E5%B1%95/1.htm">人工智能专区基础及拓展</a><a class="tag" taget="_blank" href="/search/%E8%B6%85%E8%A1%A8%E9%9D%A2%E8%AE%BE%E8%AE%A1/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/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>光学超表面,即能够控制光传播的平面人工介质,正在从实验室过渡到商业应用。这种转变需要先进的超结构和超表面设计,考虑可制造性并通过后处理算法提高光学性能。人工智能,尤其是机器学习的优化,为这些需求提供了解决方案。该文章系统地回顾了AI在三个关键领域的潜在影响:AI支持的超表面可制造性设计(DFM)、超越经典局部相位近似的设计以及AI赋能的计算后端。Introduction超表面是超材料的二维(2D)</div>
                    </li>
                    <li><a href="/article/1898258729099390976.htm"
                           title="Git使用指南 - 从入坑到入坟(bushi)" target="_blank">Git使用指南 - 从入坑到入坟(bushi)</a>
                        <span class="text-muted">铸剑zj</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E4%BA%A7%E5%8A%9B%E5%B7%A5%E5%85%B7/1.htm">生产力工具</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%BE%91%E5%99%A8/1.htm">编辑器</a>
                        <div>Git完全使用指南-从入门到入坟Git完全使用指南Git完全使用指南-从入门到入坟第一部分:Git入门基础1.Git简介什么是Git为什么要使用GitGit与SVN的区别Git工作区域Git文件状态2.环境搭建Windows系统安装Git基础配置配置SSH密钥Git配置级别常用配置项3.基本命令创建仓库文件操作提交更改状态查看差异比较历史记录撤销修改第二部分:Git协作开发4.分支管理分支基础概念</div>
                    </li>
                    <li><a href="/article/1898258476505821184.htm"
                           title="HTML-05NPM使用踩坑" target="_blank">HTML-05NPM使用踩坑</a>
                        <span class="text-muted">坐吃山猪</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>2025-03-04-NPM使用踩坑本文讲述了一个苦逼程序员在使用NPM的时候突然来了一记nmplogin天雷,然后一番折腾之后,终究还是没有解决npm的问题,最终使用cnpm完美解决的故事。文章目录2025-03-04-NPM使用踩坑@[toc]1-参考网址2-思路整理3-学习要点4-对比学习1-什么是npm、cnpm两者之间的区别1-npm概述2-cnpm概述3-npm和cnpm的区别2-如何</div>
                    </li>
                    <li><a href="/article/1898257469038194688.htm"
                           title="时序数据库 TDengine 化工新签约:存储降本一半,查询提速十倍" target="_blank">时序数据库 TDengine 化工新签约:存储降本一半,查询提速十倍</a>
                        <span class="text-muted">涛思数据(TDengine)</span>
<a class="tag" taget="_blank" href="/search/%E6%97%B6%E5%BA%8F%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">时序数据库</a><a class="tag" taget="_blank" href="/search/tdengine/1.htm">tdengine</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>化工行业在数字化转型过程中面临数据接入复杂、实时性要求高、系统集成难度大等诸多挑战。福州力川数码科技有限公司科技依托深厚的行业积累,精准聚焦行业痛点,并携手TDengine提供高效解决方案。通过应用TDengine,力川科技助力化工企业实现了海量数据的低成本、高效存储与处理,同时达到了毫秒级实时监控,为安全生产和智能决策提供强有力的支撑。具体来说,本次合作不仅使存储成本降低50%以上,查询效率提升</div>
                    </li>
                    <li><a href="/article/1898257090846191616.htm"
                           title="在 Ubuntu 下通过 Docker 部署 Caddy 和 PHP-FPM 服务器" target="_blank">在 Ubuntu 下通过 Docker 部署 Caddy 和 PHP-FPM 服务器</a>
                        <span class="text-muted">reddingtons</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a>
                        <div>大家好,我是Hitch。今天我们来聊聊如何在Ubuntu上通过Docker部署Caddy和PHP-FPM服务器。简单来说,Caddy是一个现代化的web服务器,支持HTTPS,配置简单;而PHP-FPM则是处理PHP请求的高级进程管理器。这两个搭档组合在一起,能让你轻松搭建高效的web环境。软件介绍DockerDocker是一种容器化平台,可以让你将应用及其依赖打包到容器中,确保在不同环境中运行一</div>
                    </li>
                    <li><a href="/article/1898256964312428544.htm"
                           title="TDengine 安装使用及备份数据" target="_blank">TDengine 安装使用及备份数据</a>
                        <span class="text-muted">程序小增</span>
<a class="tag" taget="_blank" href="/search/tdengine/1.htm">tdengine</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E5%BA%8F%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">时序数据库</a>
                        <div>官网文档地址:https://docs.taosdata.com/get-started/package/下载安装包后:taosd是TDengine数据库引擎的核心服务,其配置文件默认是/etc/taos/taos.cfg但也可以指定不同路径的配置文件。本节详细介绍taosd的命令行参数及配置文件中的配置参数。部署td数据库:将td包放到服务器上:tar-zxvfTDengine-server--</div>
                    </li>
                    <li><a href="/article/1898256458848464896.htm"
                           title="Zookeeper 的 Node(Znode) 是什么?Zookeeper 监听机制的特点是什么?" target="_blank">Zookeeper 的 Node(Znode) 是什么?Zookeeper 监听机制的特点是什么?</a>
                        <span class="text-muted">忍者算法</span>
<a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</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/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a>
                        <div>Zookeeper提供了一种发布-订阅(Pub-Sub)机制,不过它更常被称为Watch机制。核心思想是:客户端可以对某个Zookeeper节点(Node)设置Watch,当这个节点发生变化时,Zookeeper会主动通知客户端。Zookeeper的Node(Znode)是什么?在Zookeeper里,所有数据都是以树状结构存储的,每一个数据单元叫做Znode(ZookeeperNode)。你可以</div>
                    </li>
                    <li><a href="/article/1898255954881867776.htm"
                           title="一体式 IO 模块助力 PLC,开启纺织机自动化高效新篇章" target="_blank">一体式 IO 模块助力 PLC,开启纺织机自动化高效新篇章</a>
                        <span class="text-muted">明达技术</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>在当下纺织行业竞争愈发激烈的大环境中,提升生产效率、降低运营成本成为企业在市场中脱颖而出的关键。传统纺织机依赖人工操作和离散控制的模式,不仅效率低下,还存在诸多问题,如设备停机频繁、能耗居高不下、维护成本不断攀升等。而随着工业自动化技术的飞速发展,明达技术推出MR20一体式IO模块与PLC的深度融合,为纺织机实现高效连续自动化作业提供了创新且可行的解决方案。传统困境多设备协同难题:纺织生产流程包含</div>
                    </li>
                    <li><a href="/article/1898255073398550528.htm"
                           title="C# WPF 为何能成为工控上位机开发的首选" target="_blank">C# WPF 为何能成为工控上位机开发的首选</a>
                        <span class="text-muted">zls365365</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/wpf/1.htm">wpf</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>C#WPF(WindowsPresentationFoundation)因其强大的功能和灵活性,成为了工控上位机开发的首选技术之一。WPF提供了丰富的控件、图形和动画效果,以及与硬件设备的交互能力,非常适合用来构建复杂的工业自动化和监控系统。以下是一些关键因素,解释了为什么WPF能在工控上位机开发中占据重要地位,并提供了一些实例代码来展示其应用。1.强大的数据绑定和MVVM支持WPF支持MVVM(</div>
                    </li>
                    <li><a href="/article/1898254947267440640.htm"
                           title="Manus要邀请码?来试试 OpenManus:纯开源AI Agent 神器+简单三步上手实战指南" target="_blank">Manus要邀请码?来试试 OpenManus:纯开源AI Agent 神器+简单三步上手实战指南</a>
                        <span class="text-muted">大F的智能小课</span>
<a class="tag" taget="_blank" href="/search/DeepSeek%E6%8A%80%E6%9C%AF%E8%A7%A3%E6%9E%90%E5%92%8C%E5%AE%9E%E6%88%98/1.htm">DeepSeek技术解析和实战</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%90%86%E8%AE%BA%E5%92%8C%E5%AE%9E%E6%88%98/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/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a>
                        <div>大家好,我是大F,深耕AI算法十余年,互联网大厂技术岗。分享AI算法干货、技术心得。更多文章可关注《大模型理论和实战》、《DeepSeek技术解析和实战》,一起探索技术的无限可能!一、Manus介绍Manus(拉丁语"手脑并用")作为全球首款通用型AIAgent,其核心突破在于实现了从"被动响应"到"主动执行"的跨越。与传统AI助手不同,它通过多智能体架构在云端虚拟机中运行,能自主调用浏览器、代码</div>
                    </li>
                    <li><a href="/article/1898254694803894272.htm"
                           title="搜广推校招面经四十" target="_blank">搜广推校招面经四十</a>
                        <span class="text-muted">Y1nhl</span>
<a class="tag" taget="_blank" href="/search/%E6%90%9C%E5%B9%BF%E6%8E%A8%E9%9D%A2%E7%BB%8F/1.htm">搜广推面经</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/%E6%90%9C%E7%B4%A2%E7%AE%97%E6%B3%95/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/%E6%8E%A8%E8%8D%90%E7%AE%97%E6%B3%95/1.htm">推荐算法</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>字节-广告算法一、离线AUC涨了,但AB实验没涨,可能的原因?1.1.线上线下得样本空间不一致(SSB)线上模型使用的是实时获取的点击、曝光数据。线下使用的离线数据。这可能导致数据分布存在偏差。线上数据受曝光机制、冷启动、新品推荐等因素影响,与离线数据不完全匹配。线下数据存在采样偏差1.2.AUC这些指标无法衡量线上打分准确性。AUC毕竟只是衡量排序1.2.1.引申:PCOC(预估值/真实后验概率</div>
                    </li>
                    <li><a href="/article/1898253939040645120.htm"
                           title="不蒜子 UV、PV 统计数据初始化配置" target="_blank">不蒜子 UV、PV 统计数据初始化配置</a>
                        <span class="text-muted">ZHauLee</span>
<a class="tag" taget="_blank" href="/search/Blog/1.htm">Blog</a><a class="tag" taget="_blank" href="/search/uv/1.htm">uv</a>
                        <div>文章首发于不蒜子UV、PV统计数据初始化配置适用场景如果你有个运行的网站域名,采用了不蒜子统计UV、PV等访客和阅读数据,但是有一天,你觉得想要换一个新的域名。当你将网站绑定到新的域名后,突然发现,所有的文章以及网站访客数据全被重置清零——重新计数了。积累许久的老站点一下子成了新手起站,怎样合并两个域名的访客数据成了你的心头大患。在不蒜子官网上寻求无果后,你偶然来到了这里,眼睛一亮——这不正是你所</div>
                    </li>
                    <li><a href="/article/1898253812523659264.htm"
                           title="js处理字符串、数组、对象常用方法汇总" target="_blank">js处理字符串、数组、对象常用方法汇总</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a>
                        <div>字符串(String)字符串是JavaScript中的基本数据类型之一,用于表示文本数据。以下是一些常用的字符串操作方法:charAt(index):返回指定索引处的字符。charCodeAt(index):返回指定索引处的字符的Unicode编码。concat(string2,string3,...,stringN):连接两个或多个字符串,并返回新的字符串。includes(searchStri</div>
                    </li>
                    <li><a href="/article/1898253434507816960.htm"
                           title="docker八股整理" target="_blank">docker八股整理</a>
                        <span class="text-muted">Lucien Alborán</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>docker思想:集装箱:dockers不仅打包了程序的代码,也打包了程序的相关配置,保证程序的正确运行标准化:运输方式:可是使用dockerpull语句,就能从docker的公共仓库将所需的程序包下载再来存储:不需要记录镜像的位置,由docker管理接口:可以使用dockers命令,直接对下载的镜像和容器进行操作隔离:不同镜像和容器时互相隔离的docker优点:一致的运行环境、更快的启动时间,善</div>
                    </li>
                                <li><a href="/article/114.htm"
                                       title="戴尔笔记本win8系统改装win7系统" target="_blank">戴尔笔记本win8系统改装win7系统</a>
                                    <span class="text-muted">sophia天雪</span>
<a class="tag" taget="_blank" href="/search/win7/1.htm">win7</a><a class="tag" taget="_blank" href="/search/%E6%88%B4%E5%B0%94/1.htm">戴尔</a><a class="tag" taget="_blank" href="/search/%E6%94%B9%E8%A3%85%E7%B3%BB%E7%BB%9F/1.htm">改装系统</a><a class="tag" taget="_blank" href="/search/win8/1.htm">win8</a>
                                    <div>戴尔win8 系统改装win7 系统详述  
 
第一步:使用U盘制作虚拟光驱: 
        1)下载安装UltraISO:注册码可以在网上搜索。 
        2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文 
</div>
                                </li>
                                <li><a href="/article/241.htm"
                                       title="BeanUtils.copyProperties使用笔记" target="_blank">BeanUtils.copyProperties使用笔记</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>BeanUtils.copyProperties VS PropertyUtils.copyProperties 
 
两者最大的区别是: 
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。 
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp</div>
                                </li>
                                <li><a href="/article/368.htm"
                                       title="MyEclipse中文乱码问题" target="_blank">MyEclipse中文乱码问题</a>
                                    <span class="text-muted">0624chenhong</span>
<a class="tag" taget="_blank" href="/search/MyEclipse/1.htm">MyEclipse</a>
                                    <div>一、设置新建常见文件的默认编码格式,也就是文件保存的格式。 
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。 
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。 
Window-->Preferences-->General -</div>
                                </li>
                                <li><a href="/article/495.htm"
                                       title="发送邮件" target="_blank">发送邮件</a>
                                    <span class="text-muted">不懂事的小屁孩</span>
<a class="tag" taget="_blank" href="/search/send+email/1.htm">send email</a>
                                    <div>  
import org.apache.commons.mail.EmailAttachment;  
import org.apache.commons.mail.EmailException;  
import org.apache.commons.mail.HtmlEmail;  
import org.apache.commons.mail.MultiPartEmail;  
</div>
                                </li>
                                <li><a href="/article/622.htm"
                                       title="动画合集" target="_blank">动画合集</a>
                                    <span class="text-muted">换个号韩国红果果</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程 
1 transition  制作鼠标滑过图片时的放大效果 
 

css
.wrap{
		width: 340px;height: 340px;
		position: absolute;
		top: 30%;
		left: 20%;
		overflow: hidden;
		bor</div>
                                </li>
                                <li><a href="/article/749.htm"
                                       title="网络最常见的攻击方式竟然是SQL注入" target="_blank">网络最常见的攻击方式竟然是SQL注入</a>
                                    <span class="text-muted">蓝儿唯美</span>
<a class="tag" taget="_blank" href="/search/sql%E6%B3%A8%E5%85%A5/1.htm">sql注入</a>
                                    <div>NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。 
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占</div>
                                </li>
                                <li><a href="/article/876.htm"
                                       title="java笔记2" target="_blank">java笔记2</a>
                                    <span class="text-muted">a-john</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>类的封装: 
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据) 
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。 
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。 
4,封装的特性: 
      4.1设置</div>
                                </li>
                                <li><a href="/article/1003.htm"
                                       title="[Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”" target="_blank">[Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0Android%E9%81%87%E5%88%B0%E7%9A%84%E9%94%99%E8%AF%AF/1.htm">学习Android遇到的错误</a>
                                    <div>        最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。 
 
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。 
 
我就看了一下,和她要了psd的文件,还好我有一点</div>
                                </li>
                                <li><a href="/article/1130.htm"
                                       title="自己写的一个繁体到简体的转换程序" target="_blank">自己写的一个繁体到简体的转换程序</a>
                                    <span class="text-muted">asialee</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%BD%AC%E6%8D%A2/1.htm">转换</a><a class="tag" taget="_blank" href="/search/%E7%B9%81%E4%BD%93/1.htm">繁体</a><a class="tag" taget="_blank" href="/search/filter/1.htm">filter</a><a class="tag" taget="_blank" href="/search/%E7%AE%80%E4%BD%93/1.htm">简体</a>
                                    <div>          今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。 
         实现的思路是重载request的调取参数的几个方法,然后做下转换。 
          </div>
                                </li>
                                <li><a href="/article/1257.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/%E6%98%BE%E7%A4%BA%E6%84%8F%E5%9B%BE/1.htm">显示意图</a><a class="tag" taget="_blank" href="/search/%E9%9A%90%E5%BC%8F%E6%84%8F%E5%9B%BE/1.htm">隐式意图</a><a class="tag" taget="_blank" href="/search/%E6%84%8F%E5%9B%BE%E7%9B%91%E5%90%AC%E5%99%A8/1.htm">意图监听器</a>
                                    <div>Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递 
  
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。 
  
隐式意图;不指明调用的名称,根据设</div>
                                </li>
                                <li><a href="/article/1384.htm"
                                       title="spring3中新增的@value注解" target="_blank">spring3中新增的@value注解</a>
                                    <span class="text-muted">bijian1013</span>
<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/%40Value/1.htm">@Value</a>
                                    <div>        在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下: 
1.首先在applicationContext.xml中加入:    
<beans xmlns="http://www.springframework.</div>
                                </li>
                                <li><a href="/article/1511.htm"
                                       title="Jboss启用CXF日志" target="_blank">Jboss启用CXF日志</a>
                                    <span class="text-muted">sunjing</span>
<a class="tag" taget="_blank" href="/search/log/1.htm">log</a><a class="tag" taget="_blank" href="/search/jboss/1.htm">jboss</a><a class="tag" taget="_blank" href="/search/CXF/1.htm">CXF</a>
                                    <div>1. 在standalone.xml配置文件中添加system-properties: 
    <system-properties>        <property name="org.apache.cxf.logging.enabled" value=&</div>
                                </li>
                                <li><a href="/article/1638.htm"
                                       title="【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码" target="_blank">【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a>
                                    <div>  编译必需的软件 
 
 Firebugs3.0.0 
 Maven3.2.3 
 Ant 
 JDK1.7.0_67 
 protobuf-2.5.0 
 Hadoop 2.5.2源码包 
 
  
  
  
 
 Firebugs3.0.0 
 
  
http://sourceforge.jp/projects/sfnet_findbug</div>
                                </li>
                                <li><a href="/article/1765.htm"
                                       title="struts2验证框架的使用和扩展" target="_blank">struts2验证框架的使用和扩展</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a>
                                    <div>struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式: 
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述; 
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。 
本文介绍一下struts2通过xml文件进行校验的方法并说</div>
                                </li>
                                <li><a href="/article/1892.htm"
                                       title="记录-感悟" target="_blank">记录-感悟</a>
                                    <span class="text-muted">braveCS</span>
<a class="tag" taget="_blank" href="/search/%E6%84%9F%E6%82%9F/1.htm">感悟</a>
                                    <div>再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。 
  
2015-1-11  1. 能在工作之余学习感兴趣的东西已经很幸福了; 
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展; 
3. 多反省多思考;要会用工具,而不是变成工具的奴隶; 
4. 一天内集中一个定长时间段看最新资讯和偏流式博</div>
                                </li>
                                <li><a href="/article/2019.htm"
                                       title="编程之美-数组中最长递增子序列" target="_blank">编程之美-数组中最长递增子序列</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a>
                                    <div>
import java.util.Arrays;
import java.util.Random;

public class LongestAccendingSubSequence {

	/**
	 * 编程之美 数组中最长递增子序列 
	 * 书上的解法容易理解
	 * 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
	 * 然后求排序后的数组与原数</div>
                                </li>
                                <li><a href="/article/2146.htm"
                                       title="读书笔记5" target="_blank">读书笔记5</a>
                                    <span class="text-muted">chengxuyuancsdn</span>
<a class="tag" taget="_blank" href="/search/%E9%87%8D%E5%A4%8D%E6%8F%90%E4%BA%A4/1.htm">重复提交</a><a class="tag" taget="_blank" href="/search/struts2%E7%9A%84token%E9%AA%8C%E8%AF%81/1.htm">struts2的token验证</a>
                                    <div>1、重复提交 
2、struts2的token验证 
3、用response返回xml时的注意 
 
1、重复提交 
(1)应用场景 
(1-1)点击提交按钮两次。 
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。 
(1-3)刷新页面 
(1-4)使用浏览器历史记录重复提交表单。 
(1-5)浏览器重复的 HTTP 请求。 
(2)解决方法 
(2-1)禁掉提交按钮 
(2-2)</div>
                                </li>
                                <li><a href="/article/2273.htm"
                                       title="[时空与探索]全球联合进行第二次费城实验的可能性" target="_blank">[时空与探索]全球联合进行第二次费城实验的可能性</a>
                                    <span class="text-muted">comsci</span>

                                    <div> 
 
     二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验 
  至今给我们大家留下很多迷团..... 
 
     关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了 
 
     在这里,我的意思是,现在</div>
                                </li>
                                <li><a href="/article/2400.htm"
                                       title="easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符" target="_blank">easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/ORA-12154/1.htm">ORA-12154</a>
                                    <div>用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下: 
C:\Users\Administrator>sqlplus username/pwd@192.168.0.5:1521/orcl 
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012 
Copyright (c) 198</div>
                                </li>
                                <li><a href="/article/2527.htm"
                                       title="简单排序:归并排序" target="_blank">简单排序:归并排序</a>
                                    <span class="text-muted">dieslrae</span>
<a class="tag" taget="_blank" href="/search/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F/1.htm">归并排序</a>
                                    <div>
    public void mergeSort(int[] array){
        int temp = array.length/2;
        
        if(temp == 0){
            return;
        }
        
        int[] a = new int[temp];
        int</div>
                                </li>
                                <li><a href="/article/2654.htm"
                                       title="C语言中字符串的\0和空格" target="_blank">C语言中字符串的\0和空格</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div>   \0 为字符串结束符,比如说: 
                      abcd (空格)cdefg; 
存入数组时,空格作为一个字符占有一个字节的空间,我们</div>
                                </li>
                                <li><a href="/article/2781.htm"
                                       title="解决Composer国内速度慢的办法" target="_blank">解决Composer国内速度慢的办法</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/Composer/1.htm">Composer</a>
                                    <div>用法: 
有两种方式启用本镜像服务: 
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1” 
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2” 
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下      1   2   3   4   5    </div>
                                </li>
                                <li><a href="/article/2908.htm"
                                       title="高效可伸缩的结果缓存" target="_blank">高效可伸缩的结果缓存</a>
                                    <span class="text-muted">shuizhaosi888</span>
<a class="tag" taget="_blank" href="/search/%E9%AB%98%E6%95%88%E5%8F%AF%E4%BC%B8%E7%BC%A9%E7%9A%84%E7%BB%93%E6%9E%9C%E7%BC%93%E5%AD%98/1.htm">高效可伸缩的结果缓存</a>
                                    <div>/**
 * 要执行的算法,返回结果v
 */
public interface Computable<A, V> {
	public V comput(final A arg);

}
 
  
/**
 * 用于缓存数据
 */
public class Memoizer<A, V> implements Computable<A, </div>
                                </li>
                                <li><a href="/article/3035.htm"
                                       title="三点定位的算法" target="_blank">三点定位的算法</a>
                                    <span class="text-muted">haoningabc</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                                    <div>三点定位, 
已知a,b,c三个顶点的x,y坐标 
和三个点都z坐标的距离,la,lb,lc 
 
求z点的坐标 
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求 
但是,由于三个点的距离可能不准,不一定会有结果, 
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1 
运行 
gcc -lm test.c 
test.c代码如下 
 

#include "stdi</div>
                                </li>
                                <li><a href="/article/3162.htm"
                                       title="epoll使用详解" target="_blank">epoll使用详解</a>
                                    <span class="text-muted">jimmee</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%BC%96%E7%A8%8B/1.htm">服务端编程</a><a class="tag" taget="_blank" href="/search/epoll/1.htm">epoll</a>
                                    <div>epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu</div>
                                </li>
                                <li><a href="/article/3289.htm"
                                       title="Hibernate对Enum的映射的基本使用方法" target="_blank">Hibernate对Enum的映射的基本使用方法</a>
                                    <span class="text-muted">linzx0212</span>
<a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a>
                                    <div>  
枚举 
  
/**
 * 性别枚举
 */
public enum Gender {

    MALE(0), FEMALE(1), OTHER(2);

    private Gender(int i) {
        this.i = i;
    }

    private int i;

    public int getI</div>
                                </li>
                                <li><a href="/article/3416.htm"
                                       title="第10章 高级事件(下)" target="_blank">第10章 高级事件(下)</a>
                                    <span class="text-muted">onestopweb</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8B%E4%BB%B6/1.htm">事件</a>
                                    <div>index.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/</div>
                                </li>
                                <li><a href="/article/3543.htm"
                                       title="孙子兵法" target="_blank">孙子兵法</a>
                                    <span class="text-muted">roadrunners</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%99%E5%AD%90/1.htm">孙子</a><a class="tag" taget="_blank" href="/search/%E5%85%B5%E6%B3%95/1.htm">兵法</a>
                                    <div>始计第一 
 
孙子曰: 
兵者,国之大事,死生之地,存亡之道,不可不察也。 
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五 
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑 
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法 
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校 
之以计,而索其情,曰</div>
                                </li>
                                <li><a href="/article/3670.htm"
                                       title="MySQL双向复制" target="_blank">MySQL双向复制</a>
                                    <span class="text-muted">tomcat_oracle</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>本文包括: 
 
  主机配置  
  从机配置  
  建立主-从复制  
  建立双向复制  
 
  背景 
按照以下简单的步骤: 
参考一下: 
 
  在机器A配置主机(192.168.1.30)  
  在机器B配置从机(192.168.1.29)  
  我们可以使用下面的步骤来实现这一点  
 
  
步骤1:机器A设置主机 
 
  在主机中打开配置文件 , </div>
                                </li>
                                <li><a href="/article/3797.htm"
                                       title="zoj 3822 Domination(dp)" target="_blank">zoj 3822 Domination(dp)</a>
                                    <span class="text-muted">阿尔萨斯</span>
<a class="tag" taget="_blank" href="/search/Mina/1.htm">Mina</a>
                                    <div> 题目链接:zoj 3822 Domination 
 题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。 
 解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理</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>