可视化讲解 DOM 构建过程

打个小广告:
如果你想获取更多前端干货、鹅厂工程师的前端面试指南,
欢迎关注我的个人微信公众号:
前端夜谈

可视化讲解 DOM 构建过程

前言

最近在看 Secrets of the JavaScript Ninja, 书中第二章讲到 DOM 的构建流程.

记得我之前也为理解 DOM 构建流程查阅过数次资料, 虽然每次查阅完都觉得 DOM 构建流程很简单, 看完便懂, 但是懂了又忘还是让人有些头疼.

为了给自己加深印象, 也为了为大家提供一个可视化的理解 DOM 构建过程的方式, 笔者制作了一个简单的网页来动态演示 DOM 构建过程. 希望能给大家带来一些帮助.

效果

在线查看

在线 demo (请使用 pc 访问)

前进, 后退

网页展示了一个简单的 HTML 页面的 DOM 渲染过程. 用户点击前进,后退按钮时, 页面左侧会显示出当前的 HTML 代码, 右侧则会显示出实时的 DOM 结构图:

可视化讲解 DOM 构建过程_第1张图片
forward and backword

自动播放

点击 Auto Play 按钮, 页面会自动播放页面的整个构建过程:

可视化讲解 DOM 构建过程_第2张图片
auto play

DOM 构建过程

DOM 元素的作用 & 基本构建过程:

这里直接引用一下原文:

The goal of this page-building phase is to set up the UI of a web application, and this is done in two distinct steps:
1 Parsing the HTML and building the Document Object Model (DOM)
2 Executing JavaScript code
Step 1 is performed when the browser is processing HTML nodes, and step 2 is > performed whenever a special type of HTML element—the script element (that > contains or
refers to JavaScript code)—is encountered. During the page-building phase, the browser
can switch between these two steps as many times as necessary.

浏览器 页面构建 步骤的目的是为 UI 渲染做准备, 页面构建是由下面两部分购成的:

  • 解析 HTML 节点, 并且构建 DOM 元素
  • 执行 JavaScript 代码

其中第一步在浏览器解析到 HTML 节点时执行, 第二步在解析到 script 标签时执行. 在页面构建的过程中, 以上两步可以无数次的交替执行.

It’s important to emphasize that, although the HTML and the DOM are closely
linked, with the DOM being constructed from HTML, they aren’t one and the same.
You should think of the HTML code as a blueprint the browser follows when > constructing the initial DOM—the UI—of the page. The browser can even fix > problems that it finds with this blueprint in order to create a valid DOM.

需要注意的是, 虽然 HTML 和 DOM 两者关系紧密(DOM 是由 HTML 文件构建而来), 但他们并不是相同的. 你应该将 HTML 看作是浏览器用来渲染 DOM 元素(页面 UI) 的蓝图. 浏览器甚至可以可以修复这个蓝图(HTML)中的问题, 并构建出有效的 DOM.

下面用可视化讲解中的步骤依次讲解:

首先看看我们想要渲染的 HTML 代码:



    
      Web app lifecycle
      
    
    
        

head one

    接下来按照浏览器的构建顺序来看:

    首先浏览器遇到下面这段代码, 解析出 html 节点作为 DOM 的根节点:

    
    
    
    可视化讲解 DOM 构建过程_第3张图片
    step 1

    接下来是 标签, 将其放置在 html 节点下:

    可视化讲解 DOM 构建过程_第4张图片
    step 2

    继续解析, 遇到 </code> 标签, 因为其是 <code><head></code> 的子标签, 故将其放置在 <strong>head</strong> 节点下.</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 584px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/b2205876d4864c51b9f035c6961208fd.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/b2205876d4864c51b9f035c6961208fd.jpg" width="650" height="206" alt="可视化讲解 DOM 构建过程_第5张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> step 3 </div> </div> <p>然后是 <code><style></code> 标签, 类似的, 放在 <strong>head</strong> 节点下:</p> <pre><code class="html"><style> #list { color: green;} #second { color: red;} </style> </code></pre> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 617px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/3ff01565f503446caf574aa3d61dd5ee.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/3ff01565f503446caf574aa3d61dd5ee.jpg" width="650" height="219" alt="可视化讲解 DOM 构建过程_第6张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> step 4 </div> </div> <p>接下来解析到 <code><body></code> 标签, 因其为 <code><html></code> 的子标签, 故将其放置在 <strong>html</strong> 节点下:</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 587px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/662d134f32aa486e92397c011bdad74e.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/662d134f32aa486e92397c011bdad74e.jpg" width="650" height="207" alt="可视化讲解 DOM 构建过程_第7张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> step 5 </div> </div> <p>然后是 <code><h1></code> 标签, 放置在 <strong>body</strong> 节点下:</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 596px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/44fb8f11c91f4e689fc82eb164e00385.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/44fb8f11c91f4e689fc82eb164e00385.jpg" width="650" height="211" alt="可视化讲解 DOM 构建过程_第8张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> step 6 </div> </div> <p>继续, <code><ul></code> 标签, 同样的, 放置在 <strong>body</strong> 节点下:</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 274px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/7d93a4050c854e7c8508259642557940.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/7d93a4050c854e7c8508259642557940.jpg" width="650" height="254" alt="可视化讲解 DOM 构建过程_第9张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> step 7 </div> </div> <p>接下来, 浏览器遇到了 <code><script></code> 标签, 根据前面的知识我们知道, 浏览器会停下来并执行<code><script></code> 中的代码. 所以下面这段代码会被立即执行:</p> <pre><code class="html"><script> var liElement = document.createElement("li"); liElement.textContent = 'I am a li'; document.getElementById('list').appendChild(liElement); </script> </code></pre> <p>这段代码的逻辑是: 向 <strong>id</strong> 为 <strong>list</strong> 的 DOM 节点添加一个 <strong>li</strong> 作为子元素, 故执行完成后 DOM 树会是这样:</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 274px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/992fd4124baf44a99c78cd7645dfc462.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/992fd4124baf44a99c78cd7645dfc462.jpg" width="650" height="254" alt="可视化讲解 DOM 构建过程_第10张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> step 7 </div> </div> <p>最后, 浏览器会解析到 <code><body/></html></code> 等标签, 结束解析过程. 最终我们得到的 DOM 结构如图:</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 266px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/90328721fd5a446891ef1c706d3215bb.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/90328721fd5a446891ef1c706d3215bb.jpg" width="650" height="247" alt="可视化讲解 DOM 构建过程_第11张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> step 9 </div> </div> <h2>后记</h2> <p>预计我会将 <em>Secrets of the JavaScript Ninja</em> 后续章节中的一些知识点也通过类似的方式进行可视化.</p> <p>如果你也有希望能做成<strong>可视化讲解</strong>的: <strong>知识点</strong>, <strong>算法</strong>, <strong>技术原理</strong>, 欢迎在下面留言与我交流, 期待大家的反馈 :)</p> <p>演示页面用到的技术为: Vue, D3.js, 欢迎 fork & star<br> Github 地址</p> <h2>想继续了解 D3.js</h2> <p>这里是我的 <em>D3.js</em> 、 <em>数据可视化</em> 相关博客的 github 地址, 欢迎 fork & star :tada:</p> <p>D3-blog</p> <h2>如果觉得不错的话, 不妨点击下面的链接关注一下 : )</h2> <p>github 主页</p> <p>知乎专栏</p> <p>掘金</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1402258867210997760"></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">你可能感兴趣的:(可视化讲解 DOM 构建过程)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1901498415083220992.htm" title="利用Nginx构建简易大文件上传预防DoS攻击机制" target="_blank">利用Nginx构建简易大文件上传预防DoS攻击机制</a> <span class="text-muted">AsterCass</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>原文链接欢迎大家对于本站的访问-AsterCasc前言在前文使用Gateway作为SpringCloud网关中,我们使用接口限流,IP限流等方式一定程度可以防止普通的DoS攻击,对于更相对更复杂的DDoS攻击或者极端的Dos攻击,如果在只应用端进行防御的话效果相对有限所以当服务器资源允许,我们正常是会在服务器反向代理的位置设置负载均衡,但是这种防御处理的本质还是资源军备竞赛,技术上只是把护甲穿得更</div> </li> <li><a href="/article/1901498288675287040.htm" title="(简单易懂口语化)对象的继承 - 2 成员变量 与 构造方法 的继承" target="_blank">(简单易懂口语化)对象的继承 - 2 成员变量 与 构造方法 的继承</a> <span class="text-muted">奕口汤圆</span> <a class="tag" taget="_blank" href="/search/Java%E5%AD%A6%E4%B9%A0/1.htm">Java学习</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><a class="tag" taget="_blank" href="/search/%E8%80%83%E7%A0%94/1.htm">考研</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/1.htm">学习方法</a><a class="tag" taget="_blank" href="/search/%E6%94%B9%E8%A1%8C%E5%AD%A6it/1.htm">改行学it</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档成员变量与构造方法的继承规则内容概述一、成员变量的继承1,成员变量继承的本质2,访问的特点3,代码示例二、构造方法的继承1,构造方法的访问特点1.1父类的构造方法不会被子类继承。1.2子类中所有的构造方法默认先访问父类中的无参构造,再执行自己。1.3如何调用父类构造方法?总结内容概述(全文为Java描述)具体讲解成员变量与构造方法的继</div> </li> <li><a href="/article/1901495766468325376.htm" title="IPC Kit基础入门:理解HarmonyOS的进程间通信架构" target="_blank">IPC Kit基础入门:理解HarmonyOS的进程间通信架构</a> <span class="text-muted">SameX-4869</span> <a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</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%8D%8E%E4%B8%BA/1.htm">华为</a> <div>本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在HarmonyOS应用开发中,进程间通信(IPC)是构建复杂应用架构的关键要素。IPCKit为开发者提供了强大的进程间通信能力,使不同进程之间能够高</div> </li> <li><a href="/article/1901492739934056448.htm" title="R语言使用table1包绘制(生成)三线表实战:单变量分列构建三线表、编写自定义函数在三线表中添加p值" target="_blank">R语言使用table1包绘制(生成)三线表实战:单变量分列构建三线表、编写自定义函数在三线表中添加p值</a> <span class="text-muted">statistics.insight</span> <a class="tag" taget="_blank" href="/search/R%E8%AF%AD%E8%A8%80%E5%85%A5%E9%97%A8%E8%AF%BE/1.htm">R语言入门课</a><a class="tag" taget="_blank" href="/search/r%E8%AF%AD%E8%A8%80/1.htm">r语言</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/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>R语言使用table1包绘制(生成)三线表实战:单变量分列构建三线表、编写自定义函数在三线表中添加p值目录R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义函数在三线表中添加p值#三线表是什么?#导入包并构建仿真数据#R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义函数在三线表中添加p值#三线表是什么?三线表本来是微软公司的word编辑</div> </li> <li><a href="/article/1901492740739362816.htm" title="【Attention】SEAttention" target="_blank">【Attention】SEAttention</a> <span class="text-muted">shanks66</span> <a class="tag" taget="_blank" href="/search/Attention/1.htm">Attention</a><a class="tag" taget="_blank" href="/search/%E5%90%84%E7%A7%8D%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%A8%A1%E5%9D%97/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/python/1.htm">python</a> <div>SEAttention摘要卷积神经网络(CNNs)的核心构建模块是卷积算子,它使网络能够通过在每一层的局部感受野内融合空间和通道信息来构建有价值的特征。此前大量研究聚焦于这种关系中的空间成分,试图通过在整个特征层级中提升空间编码质量来增强CNN的表征能力。在这项工作中,我们将重点放在通道关系上,并提出一种新颖的架构单元,称为“挤压与激励”(Squeeze-and-Excitation,简称SE)模</div> </li> <li><a href="/article/1901489590590566400.htm" title="CMake 保姆级教程" target="_blank">CMake 保姆级教程</a> <span class="text-muted">爱吃巧克力的程序媛</span> <a class="tag" taget="_blank" href="/search/CMake/1.htm">CMake</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>CMake是一个跨平台的构建工具,用于生成适合不同平台和编译器的构建系统文件(如Makefile或VisualStudio项目文件)。在Windows下使用CMake构建项目时,CMake会根据CMakeLists.txt文件生成适合Windows的构建系统文件(如VisualStudio项目文件)。以下是Windows下使用CMake的基本规则和步骤:https://subingwen.cn/c</div> </li> <li><a href="/article/1901487952802934784.htm" title="学习SpringBoot过程中常见问题汇总及多工程项目使用 IntelliJ IDEA 打开" target="_blank">学习SpringBoot过程中常见问题汇总及多工程项目使用 IntelliJ IDEA 打开</a> <span class="text-muted">KunQian_smile</span> <a class="tag" taget="_blank" href="/search/springBoot/1.htm">springBoot</a> <div>一:SpringBoot:redisClientine.test.serviceImpl.RedisServiceImplrequiredabeanoftype‘com.examp1:没有自动注入导致。service类上面没有@service注解或者mapper上没有@Repository注解,但是这种情况比较少见,一般不会忘记。2:配置了mybatis,但没有指定扫描的包。(1)直接在生成出来的</div> </li> <li><a href="/article/1901486943863107584.htm" title="HarmonyOS NEXT开发实战:Navigation页面跳转对象传递案例" target="_blank">HarmonyOS NEXT开发实战:Navigation页面跳转对象传递案例</a> <span class="text-muted">一晃有一秋</span> <a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E5%AE%9E%E4%BE%8B/1.htm">鸿蒙实例</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E7%B3%BB%E7%BB%9F/1.htm">鸿蒙系统</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>介绍本示例主要介绍在使用Navigation实现页面跳转时,如何在跳转页面得到转入页面传的类对象的方法。实现过程中使用了第三方插件class-transformer,传递对象经过该插件的plainToClass方法转换后可以直接调用对象的方法,效果图预览使用说明从首页进入本页面时,会传递一个类对象UserBookingInfo。点击“换个座位”按钮会调用该类对象的generateRandSeatN</div> </li> <li><a href="/article/1901485935187521536.htm" title="[QMT量化交易小白入门]-二十二、deepseek+cline+vscode,让小白使用miniQMT量化交易成为可能" target="_blank">[QMT量化交易小白入门]-二十二、deepseek+cline+vscode,让小白使用miniQMT量化交易成为可能</a> <span class="text-muted">python自动化工具</span> <a class="tag" taget="_blank" href="/search/QMT%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93%E5%B0%8F%E7%99%BD%E5%85%A5%E9%97%A8/1.htm">QMT量化交易小白入门</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%BE%91%E5%99%A8/1.htm">编辑器</a> <div>本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。文章目录相关阅读DeepSeek新用户注册cline集成指令测试相关阅读小白也能做量化:零门槛QMT、Ptrade免费送量化交易入门:如何在QMT中配置Pytho</div> </li> <li><a href="/article/1901485808431460352.htm" title="ubuntu 24.10安装mysql" target="_blank">ubuntu 24.10安装mysql</a> <span class="text-muted">linuxxx110</span> <a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>1.更新软件包列表在安装MySQL之前,先更新系统的软件包列表sudoaptupdate2、安装MySQL服务器sudoaptinstallmysql-server3.启动MySQL服务sudosystemctlstatusmysql4、运行安全脚本MySQL提供了一个安全脚本,用于设置root密码、移除匿名用户、禁止远程root登录等。运行以下命令sudomysql_secure_install</div> </li> <li><a href="/article/1901481650030702592.htm" title="五大基础算法——模拟算法" target="_blank">五大基础算法——模拟算法</a> <span class="text-muted">六七_Shmily</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90/1.htm">数据结构与算法分析</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>模拟算法是一种通过直接模拟问题描述的过程或规则来解决问题的算法思想。它通常用于解决那些问题描述清晰、步骤明确、可以直接按照规则逐步实现的问题。以下是模拟算法的核心概念、适用场景、实现方法及经典例题:一、核心概念问题描述清晰问题的规则和步骤明确,可以直接按照描述实现。逐步模拟按照问题的规则,一步一步模拟过程,直到得到最终结果。无复杂优化模拟算法通常不涉及复杂的优化技巧,重点是准确实现问题描述。二、适</div> </li> <li><a href="/article/1901476357506920448.htm" title="docker迁移mysql_Docker迁移Mysql" target="_blank">docker迁移mysql_Docker迁移Mysql</a> <span class="text-muted">麟翛</span> <a class="tag" taget="_blank" href="/search/docker%E8%BF%81%E7%A7%BBmysql/1.htm">docker迁移mysql</a> <div>这几天遇到一个数据迁移的需求,要把老服务器的数据迁移到新的服务器上去,因为Mysql是放在Docker里面的,所以只需要迁移配置文件和数据卷即可,但是这过程中并不是一帆风顺的,特此记录一下。从旧的服务器上查看Mysql容器的信息。首先使用dockerps来查看正在运行的容器,如果你的容器尚未运行,那么执行这条命令dockerps-a使用dockerinspectContainName查看Mysql</div> </li> <li><a href="/article/1901475596853112832.htm" title="计算机组成原理(知识点+易错点,超详细)|第四章 指令系统" target="_blank">计算机组成原理(知识点+易错点,超详细)|第四章 指令系统</a> <span class="text-muted">sailing_c</span> <a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86/1.htm">计算机组成原理</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86/1.htm">计算机组成原理</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>目录4.1指令系统4.1.1指令集体系结构4.1.2指令的基本格式4.1.3定长操作码指令格式4.1.4扩展操作码指令格式4.1.5指令的操作类型4.2指令的寻址方式4.2.1指令寻址和数据寻址4.2.2常见的数据寻址方式4.3程序的机器级代码表示4.3.1常用汇编指令介绍4.3.2选择语句的机器级表示4.3.3循环语句的机器级表示4.3.4过程调用的机器级表示4.4CISC和RISC的基本概念4</div> </li> <li><a href="/article/1901473832414277632.htm" title="从零开始学机器学习——构建一个推荐web应用" target="_blank">从零开始学机器学习——构建一个推荐web应用</a> <span class="text-muted">努力的小雨</span> <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%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns今天,我们终于将分类器这一章节学习完活了,和回归一样,最后一章节用来构建web应用程序,我们会回顾之前所学的知识点,并新增一个web应用用来让模型和用户交互。所以今天的主题是美食推荐。美食推荐Web应用程序首先,请不要担心,本章节并不会涉及过多的前端知识点。我们此次的学习重点在于机器学习本身,因此我们</div> </li> <li><a href="/article/1901469922505060352.htm" title="浩方wms:什么是海外仓WMS系统?作用是什么?" target="_blank">浩方wms:什么是海外仓WMS系统?作用是什么?</a> <span class="text-muted">haofang_software</span> <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/%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%8F%91/1.htm">个人开发</a><a class="tag" taget="_blank" href="/search/sass/1.htm">sass</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%A7%91%E6%8A%80/1.htm">科技</a> <div>浩方动力科技认为,海外仓作为连接卖家与海外消费者的关键节点,其重要性愈发凸显。海外仓WMS系统(WarehouseManagementSystem),作为一种专门针对海外仓运营的信息化管理系统,正成为提升海外仓运营效率和服务水平的得力助手。什么是海外仓WMS系统呢?海外仓管理系统又有什么作用?浩方WMS,今天来为大家讲解一下海外仓WMS的作用和意义。海外仓WMS系统,顾名思义,是专为海外仓储业务设</div> </li> <li><a href="/article/1901469923553636352.htm" title="云原生:K8s(Kubernetes)高频典型面试题汇总" target="_blank">云原生:K8s(Kubernetes)高频典型面试题汇总</a> <span class="text-muted">老舅的火箭爱扫地</span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>1.简述etcd及其特点?答:etcd是CoreOS团队发起的开源项目,是一个管理配置信息和服务发现(servicediscovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于Go语言实现。特点:l简单:支持REST风格的HTTP+JSONAPIl安全:支持HTTPS方式的访问l快速:支持并发1k/s的写操作l可靠:支持分布式结构,基于Raft的一致性算法,R</div> </li> <li><a href="/article/1901468156422057984.htm" title="GitHub一周热门ai项目 2025.3.17" target="_blank">GitHub一周热门ai项目 2025.3.17</a> <span class="text-muted">BillyXie23</span> <a class="tag" taget="_blank" href="/search/AI%E6%8E%A2%E7%B4%A2/1.htm">AI探索</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>项目1:Significant-Gravitas/AutoGPT地址:significant-gravitas.github.com/AutoGPT描述:AutoGPT致力于为所有人提供可访问的AI工具,让用户专注于重要事务。Stars:173,449推荐理由:适合想要探索自动化AI应用的开发者,支持自定义扩展,开源生态强大,适合构建智能助手、自动化流程等场景。项目2:AUTOMATIC1111/</div> </li> <li><a href="/article/1901468154694004736.htm" title="HTML深度解读" target="_blank">HTML深度解读</a> <span class="text-muted">Small踢倒coffee_氕氘氚</span> <a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>##引言HTML(HyperTextMarkupLanguage)是构建网页的基础语言。自1991年由TimBerners-Lee发明以来,HTML已经经历了多次版本更新,从HTML1.0到HTML5,每一次更新都带来了新的特性和功能。本文将深入探讨HTML的核心概念、结构、标签、语义化以及HTML5的新特性。##一、HTML的核心概念###1.1什么是HTML?HTML是一种标记语言,用于创建和</div> </li> <li><a href="/article/1901467397131399168.htm" title="鸿蒙开发2024【面试题库】讲解,近期需要面试的可千万别错过!" target="_blank">鸿蒙开发2024【面试题库】讲解,近期需要面试的可千万别错过!</a> <span class="text-muted">鸿蒙系统小能手Mr.Li</span> <a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E5%BC%80%E5%8F%91/1.htm">鸿蒙开发</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/OpenHarmony/1.htm">OpenHarmony</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E7%B3%BB%E7%BB%9F/1.htm">鸿蒙系统</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">移动开发</a> <div>1.请简述鸿蒙OS与AndroidOS的主要区别是什么?设备兼容性:鸿蒙OS是一款面向各种设备的分布式操作系统,支持手机、平板电脑、智能手表、智能家居、汽车等多种设备类型,并能在这些设备之间实现无缝切换和共享数据。而Android系统则主要用于移动设备,如手机和平板电脑。系统架构:鸿蒙OS采用分布式技术架构,通过分布式技术实现多设备间的协作和数据共享,更加灵活、安全、高效。而Android则采用单</div> </li> <li><a href="/article/1901466892409827328.htm" title="【面经】2025年软件测试面试题,精选100 道(附答案)" target="_blank">【面经】2025年软件测试面试题,精选100 道(附答案)</a> <span class="text-muted">测试界的路飞</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95%E9%9D%A2%E8%AF%95/1.htm">软件测试面试</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%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><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>测试技术面试题1、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?2、什么是兼容性测试?兼容性测试侧重哪些方面?3、测试的策略有哪些?4、正交表测试用例设计方法的特点是什么?5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?6、描述测试用例设计的完整过程?7、你觉得bugzilla在使用的过程中,有什么问题?8、单元测试的</div> </li> <li><a href="/article/1901463886679306240.htm" title="HarmonyNext实战:基于ArkTS的高性能3D渲染引擎开发" target="_blank">HarmonyNext实战:基于ArkTS的高性能3D渲染引擎开发</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>HarmonyNext实战:基于ArkTS的高性能3D渲染引擎开发引言3D渲染引擎是现代图形应用的核心,广泛应用于游戏开发、虚拟现实、工业设计等领域。HarmonyNext作为新一代操作系统,提供了强大的图形处理能力,而ArkTS作为其开发语言,能够帮助开发者高效实现高性能的3D渲染引擎。本文将详细讲解如何在HarmonyNext平台上使用ArkTS开发一个3D渲染引擎。我们将从3D渲染的基本原理</div> </li> <li><a href="/article/1901463887987929088.htm" title="HarmonyNext实战:基于ArkTS的分布式任务调度系统开发" target="_blank">HarmonyNext实战:基于ArkTS的分布式任务调度系统开发</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>HarmonyNext实战:基于ArkTS的分布式任务调度系统开发引言在HarmonyNext生态系统中,分布式任务调度是一个核心且复杂的技术领域。随着设备互联的普及,如何在多设备间高效、可靠地分配和执行任务成为开发者面临的重要挑战。本文将深入探讨如何利用ArkTS语言构建一个高性能的分布式任务调度系统,涵盖从架构设计到代码实现的完整过程。分布式任务调度系统概述分布式任务调度系统的核心目标是将任务</div> </li> <li><a href="/article/1901463759591895040.htm" title="HarmonyNext实战:基于ArkTS的高性能区块链应用开发" target="_blank">HarmonyNext实战:基于ArkTS的高性能区块链应用开发</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>HarmonyNext实战:基于ArkTS的高性能区块链应用开发引言区块链技术以其去中心化、不可篡改和透明性等特点,正在金融、供应链、物联网等领域掀起革命性变革。HarmonyNext作为新一代操作系统,提供了强大的分布式计算和网络通信能力,而ArkTS作为其开发语言,能够帮助开发者高效实现高性能的区块链应用。本文将详细讲解如何在HarmonyNext平台上使用ArkTS开发一个区块链应用。我们将</div> </li> <li><a href="/article/1901463506453065728.htm" title="基于HarmonyNext的ArkTS实战:构建跨平台企业级任务管理系统" target="_blank">基于HarmonyNext的ArkTS实战:构建跨平台企业级任务管理系统</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>基于HarmonyNext的ArkTS实战:构建跨平台企业级任务管理系统引言在现代企业中,任务管理系统是提升团队协作效率的重要工具。随着HarmonyNext的推出,ArkTS作为其核心开发语言,为开发者提供了强大的跨平台能力和高效的性能支持。本文将深入探讨如何利用ArkTS构建一个跨平台的企业级任务管理系统,涵盖从任务创建、分配到跟踪的完整流程。通过实战案例,我们将展示ArkTS在Harmony</div> </li> <li><a href="/article/1901463253423288320.htm" title="基于HarmonyNext的ArkTS实战:构建高性能跨平台应用" target="_blank">基于HarmonyNext的ArkTS实战:构建高性能跨平台应用</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>基于HarmonyNext的ArkTS实战:构建高性能跨平台应用引言在HarmonyNext生态系统中,ArkTS作为新一代的编程语言,凭借其强大的类型系统和高效的运行时性能,成为开发高性能跨平台应用的首选。本文将深入探讨如何利用ArkTS构建一个复杂的跨平台应用,涵盖从项目架构设计到具体实现的完整流程。我们将通过一个实战案例——构建一个支持多端同步的笔记应用,来展示ArkTS在HarmonyNe</div> </li> <li><a href="/article/1901463250902511616.htm" title="数据库核心技术面试题深度剖析:主从同步、二级索引与Change Buffer" target="_blank">数据库核心技术面试题深度剖析:主从同步、二级索引与Change Buffer</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF%E6%95%B0%E6%8D%AE%E5%BA%93mysql/1.htm">后端数据库mysql</a> <div>在数据库相关岗位的面试中,主从同步、二级索引、ChangeBuffer是高频考察点。本文将从面试题角度拆解这三个技术点,覆盖底层原理、性能优化、设计思想,并结合实际场景与高频追问,助你构建系统性回答框架。一、主从同步:高可用架构的灵魂1.基础问题:主从同步的基本流程是什么?答:核心流程:主库将事务写入Binlog(二进制日志)从库的IO线程拉取Binlog到本地RelayLog从库的SQL线程重放</div> </li> <li><a href="/article/1901463252152414208.htm" title="HarmonyNext实战:基于ArkTS的分布式数据同步应用开发" target="_blank">HarmonyNext实战:基于ArkTS的分布式数据同步应用开发</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>HarmonyNext实战:基于ArkTS的分布式数据同步应用开发引言在分布式系统中,数据同步是一个核心问题,尤其是在多设备协同的场景下。HarmonyNext作为新一代操作系统,提供了强大的分布式能力,而ArkTS作为其开发语言,能够帮助开发者高效实现分布式数据同步。本文将详细讲解如何在HarmonyNext平台上使用ArkTS开发一个分布式数据同步应用。我们将从分布式数据同步的基本原理入手,逐</div> </li> <li><a href="/article/1901461988568002560.htm" title="网站可以不安装SSL证书吗" target="_blank">网站可以不安装SSL证书吗</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/ssl%E8%AF%81%E4%B9%A6/1.htm">ssl证书</a> <div>一、SSL证书的作用SSL证书,全称为安全套接层(SecureSocketsLayer)证书,是互联网通信中用于加密数据的一种技术手段。它主要用于在客户端和服务器之间建立一个安全的加密通道,确保数据在传输过程中不被窃取或篡改。同时,SSL证书还能验证网站的真实身份,防止钓鱼网站攻击。SSL证书申请入口直接访问JoySSL,注册一个新账号,并填写特定注册码230931(获得技术支持)二、不安装SSL</div> </li> <li><a href="/article/1901460849567002624.htm" title="为什么安装 SSL 证书后会显示无效?" target="_blank">为什么安装 SSL 证书后会显示无效?</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/ssl%E8%AF%81%E4%B9%A6%E6%95%B0%E5%AD%97%E8%AF%81%E4%B9%A6/1.htm">ssl证书数字证书</a> <div>一、证书未正确安装这是最常见的因素。安装过程涉及诸多精细步骤,任何疏忽都可能引发问题。比如,证书文件路径若设置出错,服务器便无法精准定位证书;私钥与证书不匹配,犹如钥匙开错锁,同样无法通过验证。新手在初次接触时,易混淆证书文件格式,或遗漏关键配置细节,使得证书无法被服务器正确读取,进而失效。二、证书已过期SSL证书存在有效期限制,短则1年,长不过数年。一旦逾期,浏览器出于安全考量,会即刻判定证书无</div> </li> <li><a href="/article/1901460721133219840.htm" title="使用代码签名证书有什么优势?" target="_blank">使用代码签名证书有什么优势?</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/ssl%E8%AF%81%E4%B9%A6%E6%95%B0%E5%AD%97%E8%AF%81%E4%B9%A6/1.htm">ssl证书数字证书</a> <div>一、确保代码来源可靠代码签名证书能够明确标识代码的开发者身份。当用户下载使用带有签名证书的软件时,通过验证证书信息,就可以确定该代码是由特定的、可信赖的开发者所提供。比如,知名软件公司对其产品代码进行签名,用户便能放心使用,避免因使用来源不明的代码而遭受潜在风险,如恶意软件植入等。二、保障代码完整性代码在传输和存储过程中,可能会受到各种因素影响而发生改变。代码签名证书能有效保障代码的完整性。在签名</div> </li> <li><a href="/article/106.htm" title="书其实只有三类" target="_blank">书其实只有三类</a> <span class="text-muted">西蜀石兰</span> <a class="tag" taget="_blank" href="/search/%E7%B1%BB/1.htm">类</a> <div>一个人一辈子其实只读三种书,知识类、技能类、修心类。 知识类的书可以让我们活得更明白。类似十万个为什么这种书籍,我一直不太乐意去读,因为单纯的知识是没法做事的,就像知道地球转速是多少一样(我肯定不知道),这种所谓的知识,除非用到,普通人掌握了完全是一种负担,维基百科能找到的东西,为什么去记忆? 知识类的书,每个方面都涉及些,让自己显得不那么没文化,仅此而已。社会认为的学识渊博,肯定不是站在</div> </li> <li><a href="/article/233.htm" title="《TCP/IP 详解,卷1:协议》学习笔记、吐槽及其他" target="_blank">《TCP/IP 详解,卷1:协议》学习笔记、吐槽及其他</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/tcp/1.htm">tcp</a> <div>《TCP/IP 详解,卷1:协议》是经典,但不适合初学者。它更像是一本字典,适合学过网络的人温习和查阅一些记不清的概念。 这本书,我看的版本是机械工业出版社、范建华等译的。这本书在我看来,翻译得一般,甚至有明显的错误。如果英文熟练,看原版更好: http://pcvr.nl/tcpip/ 下面是我的一些笔记,包括我看书时有疑问的地方,也有对该书的吐槽,有不对的地方请指正: 1.</div> </li> <li><a href="/article/360.htm" title="Linux—— 静态IP跟动态IP设置" target="_blank">Linux—— 静态IP跟动态IP设置</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/IP/1.htm">IP</a> <div>一.在终端输入 vi /etc/sysconfig/network-scripts/ifcfg-eth0 静态ip模板如下: DEVICE="eth0" #网卡名称 BOOTPROTO="static" #静态IP(必须) HWADDR="00:0C:29:B5:65:CA" #网卡mac地址 IPV6INIT=&q</div> </li> <li><a href="/article/487.htm" title="Informatica update strategy transformation" target="_blank">Informatica update strategy transformation</a> <span class="text-muted">18289753290</span> <div>更新策略组件: 标记你的数据进入target里面做什么操作,一般会和lookup配合使用,有时候用0,1,1代表 forward  rejected rows被选中,rejected row是输出在错误文件里,不想看到reject输出,将错误输出到文件,因为有时候数据库原因导致某些column不能update,reject就会output到错误文件里面供查看,在workflow的</div> </li> <li><a href="/article/614.htm" title="使用Scrapy时出现虽然队列里有很多Request但是却不下载,造成假死状态" target="_blank">使用Scrapy时出现虽然队列里有很多Request但是却不下载,造成假死状态</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/request/1.htm">request</a> <div>现象就是: 程序运行一段时间,可能是几十分钟或者几个小时,然后后台日志里面就不出现下载页面的信息,一直显示上一分钟抓取了0个网页的信息。 刚开始已经猜到是某些下载线程没有正常执行回调方法引起程序一直以为线程还未下载完成,但是水平有限研究源码未果。 经过不停的google终于发现一个有价值的信息,是给twisted提出的一个bugfix 连接地址如下http://twistedmatrix.</div> </li> <li><a href="/article/741.htm" title="利用预测分析技术来进行辅助医疗" target="_blank">利用预测分析技术来进行辅助医疗</a> <span class="text-muted">蓝儿唯美</span> <a class="tag" taget="_blank" href="/search/%E5%8C%BB%E7%96%97/1.htm">医疗</a> <div>2014年,克利夫兰诊所(Cleveland Clinic)想要更有效地控制其手术中心做膝关节置换手术的费用。整个系统每年大约进行2600例此类手术,所以,即使降低很少一部分成本,都可以为诊 所和病人节约大量的资金。为了找到适合的解决方案,供应商将视野投向了预测分析技术和工具,但其分析团队还必须花时间向医生解释基于数据的治疗方案意味着 什么。  克利夫兰诊所负责企业信息管理和分析的医疗</div> </li> <li><a href="/article/868.htm" title="java 线程(一):基础篇" target="_blank">java 线程(一):基础篇</a> <span class="text-muted">DavidIsOK</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a> <div>                                                        &nbs</div> </li> <li><a href="/article/995.htm" title="Tomcat服务器框架之Servlet开发分析" target="_blank">Tomcat服务器框架之Servlet开发分析</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>最近使用Tomcat做web服务器,使用Servlet技术做开发时,对Tomcat的框架的简易分析: 疑问: 为什么我们在继承HttpServlet类之后,覆盖doGet(HttpServletRequest req, HttpServetResponse rep)方法后,该方法会自动被Tomcat服务器调用,doGet方法的参数有谁传递过来?怎样传递? 分析之我见: doGet方法的</div> </li> <li><a href="/article/1122.htm" title="揭秘玖富的粉丝营销之谜 与小米粉丝社区类似" target="_blank">揭秘玖富的粉丝营销之谜 与小米粉丝社区类似</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E6%8F%AD%E7%A7%98%E7%8E%96%E5%AF%8C%E7%9A%84%E7%B2%89%E4%B8%9D%E8%90%A5%E9%94%80%E4%B9%8B%E8%B0%9C/1.htm">揭秘玖富的粉丝营销之谜</a> <div>玖富旗下悟空理财凭借着一个微信公众号上线当天成交量即破百万,第七天成交量单日破了1000万;第23天时,累计成交量超1个亿……至今成立不到10个月,粉丝已经超过500万,月交易额突破10亿,而玖富平台目前的总用户数也已经超过了1800万,位居P2P平台第一位。很多互联网金融创业者慕名前来学习效仿,但是却鲜有成功者,玖富的粉丝营销对外至今仍然是个谜。     近日,一直坚持微信粉丝营销</div> </li> <li><a href="/article/1249.htm" title="Java web的会话跟踪技术" target="_blank">Java web的会话跟踪技术</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/url%E4%BC%9A%E8%AF%9D/1.htm">url会话</a><a class="tag" taget="_blank" href="/search/Cookie%E4%BC%9A%E8%AF%9D/1.htm">Cookie会话</a><a class="tag" taget="_blank" href="/search/Seession%E4%BC%9A%E8%AF%9D/1.htm">Seession会话</a><a class="tag" taget="_blank" href="/search/Java+Web/1.htm">Java Web</a><a class="tag" taget="_blank" href="/search/%E9%9A%90%E8%97%8F%E5%9F%9F%E4%BC%9A%E8%AF%9D/1.htm">隐藏域会话</a> <div>会话跟踪主要是用在用户页面点击不同的页面时,需要用到的技术点   会话:多次请求与响应的过程     1,url地址传递参数,实现页面跟踪技术          格式:传一个参数的 url?名=值     传两个参数的 url?名=值 &名=值   关键代码</div> </li> <li><a href="/article/1376.htm" title="web.xml之Servlet配置" target="_blank">web.xml之Servlet配置</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/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/Servlet%E9%85%8D%E7%BD%AE/1.htm">Servlet配置</a> <div>定义: <servlet> <servlet-name>myservlet</servlet-name> <servlet-class>com.myapp.controller.MyFirstServlet</servlet-class> <init-param> <param-name></div> </li> <li><a href="/article/1503.htm" title="利用svnsync实现SVN同步备份" target="_blank">利用svnsync实现SVN同步备份</a> <span class="text-muted">sunjing</span> <a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/%E5%90%8C%E6%AD%A5/1.htm">同步</a><a class="tag" taget="_blank" href="/search/E000022/1.htm">E000022</a><a class="tag" taget="_blank" href="/search/svnsync/1.htm">svnsync</a><a class="tag" taget="_blank" href="/search/%E9%95%9C%E5%83%8F/1.htm">镜像</a> <div>1. 在备份SVN服务器上建立版本库    svnadmin create test 2. 创建pre-revprop-change文件     cd test/hooks/     cp pre-revprop-change.tmpl pre-revprop-change 3. 修改pre-revprop-</div> </li> <li><a href="/article/1630.htm" title="【分布式数据一致性三】MongoDB读写一致性" target="_blank">【分布式数据一致性三】MongoDB读写一致性</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>本系列文章结合MongoDB,探讨分布式数据库的数据一致性,这个系列文章包括: 数据一致性概述与CAP 最终一致性(Eventually Consistency) 网络分裂(Network Partition)问题 多数据中心(Multi Data Center) 多个写者(Multi Writer)最终一致性 一致性图表(Consistency Chart) 数据</div> </li> <li><a href="/article/1757.htm" title="Anychart图表组件-Flash图转IMG普通图的方法" target="_blank">Anychart图表组件-Flash图转IMG普通图的方法</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/Flash/1.htm">Flash</a> <div>问题背景:项目使用的是Anychart图表组件,渲染出来的图是Flash的,往往一个页面有时候会有多个flash图,而需求是让我们做一个打印预览和打印功能,让多个Flash图在一个页面上打印出来。   那么我们打印预览的思路是获取页面的body元素,然后在打印预览界面通过$("body").append(html)的形式显示预览效果,结果让人大跌眼镜:Flash是</div> </li> <li><a href="/article/1884.htm" title="Window 80端口被占用 WHY?" target="_blank">Window 80端口被占用 WHY?</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/%E7%AB%AF%E5%8F%A3%E5%8D%A0%E7%94%A8/1.htm">端口占用</a><a class="tag" taget="_blank" href="/search/window/1.htm">window</a> <div>平时在启动一些可能使用80端口软件的时候,会提示80端口已经被其他软件占用,那一般又会有那些软件占用这些端口呢?    下面坐下总结:         1、web服务器是最经常见的占用80端口的,例如:tomcat , apache  , IIS , Php等等;         2</div> </li> <li><a href="/article/2011.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; public class MinMaxInArray { /** * 编程之美 数组的最大值和最小值 分治法 * 两种形式 */ public static void main(String[] args) { int[] t={11,23,34,4,6,7,8,1,2,23}; int[] </div> </li> <li><a href="/article/2138.htm" title="Perl正则表达式" target="_blank">Perl正则表达式</a> <span class="text-muted">chenbowen00</span> <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><a class="tag" taget="_blank" href="/search/perl/1.htm">perl</a> <div>首先我们应该知道 Perl 程序中,正则表达式有三种存在形式,他们分别是: 匹配:m/<regexp>;/ (还可以简写为 /<regexp>;/ ,略去 m) 替换:s/<pattern>;/<replacement>;/ 转化:tr/<pattern>;/<replacemnt>;</div> </li> <li><a href="/article/2265.htm" title="[宇宙与天文]行星议会是否具有本行星大气层以外的权力呢?" target="_blank">[宇宙与天文]行星议会是否具有本行星大气层以外的权力呢?</a> <span class="text-muted">comsci</span> <div>       举个例子: 地球,地球上由200多个国家选举出一个代表地球联合体的议会,那么现在地球联合体遇到一个问题,地球这颗星球上面的矿产资源快要采掘完了....那么地球议会全体投票,一致通过一项带有法律性质的议案,既批准地球上的国家用各种技术手段在地球以外开采矿产资源和其它资源........    &</div> </li> <li><a href="/article/2392.htm" title="Oracle Profile 使用详解" target="_blank">Oracle Profile 使用详解</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/profile/1.htm">profile</a><a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90%E9%99%90%E5%88%B6/1.htm">资源限制</a> <div>Oracle Profile 使用详解 转 一、目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。 二、条件: 创建profile必须要有CREATE PROFIL</div> </li> <li><a href="/article/2519.htm" title="How HipChat Stores And Indexes Billions Of Messages Using ElasticSearch & Redis" target="_blank">How HipChat Stores And Indexes Billions Of Messages Using ElasticSearch & Redis</a> <span class="text-muted">dengkane</span> <a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/Lucene/1.htm">Lucene</a> <div>This article is from an interview with Zuhaib Siddique, a production engineer at HipChat, makers of group chat and IM for teams. HipChat started in an unusual space, one you might not </div> </li> <li><a href="/article/2646.htm" title="循环小示例,菲波拉契序列,循环解一元二次方程以及switch示例程序" target="_blank">循环小示例,菲波拉契序列,循环解一元二次方程以及switch示例程序</a> <span class="text-muted">dcj3sjt126com</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># include <stdio.h> int main(void) { int n; int i; int f1, f2, f3; f1 = 1; f2 = 1; printf("请输入您需要求的想的序列:"); scanf("%d", &n); for (i=3; i<n; i</div> </li> <li><a href="/article/2773.htm" title="macbook的lamp环境" target="_blank">macbook的lamp环境</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/lamp/1.htm">lamp</a> <div>  sudo vim /etc/apache2/httpd.conf   /Library/WebServer/Documents 是默认的网站根目录   重启Mac上的Apache服务   这个命令很早以前就查过了,但是每次使用的时候还是要在网上查: 停止服务:sudo /usr/sbin/apachectl stop 开启服务:s</div> </li> <li><a href="/article/2900.htm" title="java ArrayList源码 下" target="_blank">java ArrayList源码 下</a> <span class="text-muted">shuizhaosi888</span> <a class="tag" taget="_blank" href="/search/ArrayList%E6%BA%90%E7%A0%81/1.htm">ArrayList源码</a> <div>版本 jdk-7u71-windows-x64   JavaSE7 ArrayList源码上:http://flyouwith.iteye.com/blog/2166890     /** * 从这个列表中移除所有c中包含元素 */ public boolean removeAll(Collection<?> c) {</div> </li> <li><a href="/article/3027.htm" title="Spring Security(08)——intercept-url配置" target="_blank">Spring Security(08)——intercept-url配置</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/Spring+Security/1.htm">Spring Security</a><a class="tag" taget="_blank" href="/search/intercept-url/1.htm">intercept-url</a><a class="tag" taget="_blank" href="/search/%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90/1.htm">访问权限</a><a class="tag" taget="_blank" href="/search/%E8%AE%BF%E9%97%AE%E5%8D%8F%E8%AE%AE/1.htm">访问协议</a><a class="tag" taget="_blank" href="/search/%E8%AF%B7%E6%B1%82%E6%96%B9%E6%B3%95/1.htm">请求方法</a> <div>intercept-url配置 目录 1.1     指定拦截的url 1.2     指定访问权限 1.3     指定访问协议 1.4     指定请求方法   1.1   &n</div> </li> <li><a href="/article/3154.htm" title="Linux环境下的oracle安装" target="_blank">Linux环境下的oracle安装</a> <span class="text-muted">jayung</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>linux系统下的oracle安装 本文档是Linux(redhat6.x、centos6.x、redhat7.x) 64位操作系统安装Oracle 11g(Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production),本文基于各种网络资料精心整理而成,共享给有需要的朋友。如有问题可联系:QQ:52-7</div> </li> <li><a href="/article/3281.htm" title="hotspot虚拟机" target="_blank">hotspot虚拟机</a> <span class="text-muted">leichenlei</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/HotSpot/1.htm">HotSpot</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">虚拟机</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%A1%A3/1.htm">文档</a> <div>JVM参数  http://docs.oracle.com/javase/6/docs/technotes/guides/vm/index.html   JVM工具 http://docs.oracle.com/javase/6/docs/technotes/tools/index.html   JVM垃圾回收 http://www.oracle.com</div> </li> <li><a href="/article/3408.htm" title="读《Node.js项目实践:构建可扩展的Web应用》 ——引编程慢慢变成系统化的“砌砖活”" target="_blank">读《Node.js项目实践:构建可扩展的Web应用》 ——引编程慢慢变成系统化的“砌砖活”</a> <span class="text-muted">noaighost</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>读《Node.js项目实践:构建可扩展的Web应用》 ——引编程慢慢变成系统化的“砌砖活” 眼里的Node.JS 初初接触node是一年前的事,那时候年少不更事。还在纠结什么语言可以编写出牛逼的程序,想必每个码农都会经历这个月经性的问题:微信用什么语言写的?facebook为什么推荐系统这么智能,用什么语言写的?dota2的外挂这么牛逼,用什么语言写的?……用什么语言写这句话,困扰人也是阻碍</div> </li> <li><a href="/article/3535.htm" title="快速开发Android应用" target="_blank">快速开发Android应用</a> <span class="text-muted">rensanning</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>Android应用开发过程中,经常会遇到很多常见的类似问题,解决这些问题需要花时间,其实很多问题已经有了成熟的解决方案,比如很多第三方的开源lib,参考 Android Libraries 和 Android UI/UX Libraries。 编码越少,Bug越少,效率自然会高。 但可能由于 根本没听说过、听说过但没用过、特殊原因不能用、自己已经有了解决方案等等原因,这些成熟的解决</div> </li> <li><a href="/article/3662.htm" title="理解Java中的弱引用" target="_blank">理解Java中的弱引用</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div> 不久之前,我 面试了一些求职Java高级开发工程师的应聘者。我常常会面试他们说,“你能给我介绍一些Java中得弱引用吗?”,如果面试者这样说,“嗯,是不是垃圾回收有关的?”,我就会基本满意了,我并不期待回答是一篇诘究本末的论文描述。   然而事与愿违,我很吃惊的发现,在将近20多个有着平均5年开发经验和高学历背景的应聘者中,居然只有两个人知道弱引用的存在,但是在这两个人之中只有一个人真正了</div> </li> <li><a href="/article/3789.htm" title="关于<c:out value=""/>标签输出html标签" target="_blank">关于<c:out value=""/>标签输出html标签</a> <span class="text-muted">xshdch</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a> <div>http://back-888888.iteye.com/blog/1181202 关于<c:out value=""/>标签的使用,其中有一个属性是escapeXml默认是true(将html标签当做转移字符,直接显示不在浏览器上面进行解析),当设置escapeXml属性值为false的时候就是不过滤xml,这样就能在浏览器上解析html标签, &nb</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>