重读HTML

HTML(超文本标记语言)

  • 初识HTML
    • HTML 元素大体分14类
    • 怎么使用
          • 1.HTML 标签里的元素名不区分大小写
          • 2. 闭合标签
          • 3.非闭合标签
    • 语义化标签
    • 语法
        • 基本语法
        • 标签语法
          • 文本语法
          • 注释语法
          • ProcessingInstruction语法(处理信息)
          • DTD(文档类型定义)
          • 文本实体
    • 浏览器是如何解析请求回来的HTML代码,DOM树又是如何构建的?
          • 解析代码
          • 构建DOM树
      • 参考

初识HTML

来看看维基百科的解释。
HTML(超文本标记语言——HyperText Markup Language)是构成 Web 世界的一砖一瓦。它定义了网页内容的含义和结构。除 HTML 以外的其它技术则通常用来描述一个网页的表现与展示效果(如 CSS),或功能与行为(如 JavaScript)。

“超文本”(hypertext)是指连接单个网站内或多个网站间的网页的链接。链接是网络的一个基本方面。只要将内容上传到互联网,并将其与他人创建的页面相链接,你就成为了万维网的积极参与者。

HTML 使用“标记”(markup)来注明文本、图片和其他内容,以便于在 Web 浏览器中显示。HTML 标记包含一些特殊“元素”如 ,<body>,<header>,<footer>,<article>,<section>,<p>,<div>,<span>,<img>,<aside>,<audio>,<canvas>,<datalist>,<details>,<embed>,<nav>,<output>,<progress>,<video></code>等等等等。</p> <h2>HTML 元素大体分14类</h2> <ol> <li>主根元素 <code>html</code></li> <li>文档元数据 <code>meta;title;head...</code>;</li> <li>分区根元素 <code>body</code></li> <li>内容分区 <code>main;section;address...</code></li> <li>文本内容</li> <li>内联文本语义</li> <li>图片和多媒体</li> <li>内嵌内容</li> <li>脚本</li> <li>编辑标识</li> <li>表格内容</li> <li>表单</li> <li>交互元素</li> <li>Web 组件<br> 参考MDN文档</li> </ol> <p><strong>关于 meta 标签的一些用法</strong></p> <pre><code class="prism language-yaml"><meta http<span class="token punctuation">-</span>equiv="X<span class="token punctuation">-</span>UA<span class="token punctuation">-</span>Compatible" content="IE=edge<span class="token punctuation">,</span>chrome=1"<span class="token punctuation">></span> <<span class="token tag">!--</span> 默认使用最新浏览器 <span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">></span> <meta http<span class="token punctuation">-</span>equiv="Cache<span class="token punctuation">-</span>Control" content="no<span class="token punctuation">-</span>siteapp"<span class="token punctuation">></span> <<span class="token tag">!--</span> 不被网页(加速)转码 <span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">></span> <meta name="robots" content="index<span class="token punctuation">,</span>follow"<span class="token punctuation">></span> <<span class="token tag">!--</span> 搜索引擎抓取 <span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">></span> <meta name="renderer" content="webkit"<span class="token punctuation">></span> <meta name="viewport" content="width=device<span class="token punctuation">-</span>width<span class="token punctuation">,</span> initial<span class="token punctuation">-</span>scale=1<span class="token punctuation">,</span> maximum<span class="token punctuation">-</span>scale=1<span class="token punctuation">,</span> minimum<span class="token punctuation">-</span>scale=1<span class="token punctuation">,</span> user<span class="token punctuation">-</span>scalable=no<span class="token punctuation">,</span> minimal<span class="token punctuation">-</span>ui"<span class="token punctuation">></span> <meta name="apple<span class="token punctuation">-</span>mobile<span class="token punctuation">-</span>web<span class="token punctuation">-</span>app<span class="token punctuation">-</span>capable" content="yes"<span class="token punctuation">></span> <<span class="token tag">!--</span> 删除苹果默认的工具栏和菜单栏 <span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">></span> <meta name="apple<span class="token punctuation">-</span>mobile<span class="token punctuation">-</span>web<span class="token punctuation">-</span>app<span class="token punctuation">-</span>status<span class="token punctuation">-</span>bar<span class="token punctuation">-</span>style" content="black<span class="token punctuation">-</span>translucent"<span class="token punctuation">></span> <<span class="token tag">!--</span> 设置苹果工具栏颜色 <span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">></span> <<span class="token tag">!--</span> 忽略浏览器自动识别数字为电话号码 <span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">></span> <meta name="format<span class="token punctuation">-</span>detection" content="telephone=no"<span class="token punctuation">></span> <meta name="format<span class="token punctuation">-</span>detection" content="date=no"<span class="token punctuation">></span> <meta name="format<span class="token punctuation">-</span>detection" content="address=no"<span class="token punctuation">></span> <<span class="token tag">!--</span> 忽略浏览器自动识别邮箱账号 <span class="token punctuation">-</span><span class="token punctuation">-</span><span class="token punctuation">></span> <meta name="format<span class="token punctuation">-</span>detection" content="email=no"<span class="token punctuation">></span> 关闭iOS上的内容识别 <meta name="renderer" content="webkit<span class="token punctuation">|</span>ie<span class="token punctuation">-</span>comp<span class="token punctuation">|</span>ie<span class="token punctuation">-</span>stand"<span class="token punctuation">></span> 对于多核浏览器,控制浏览器以哪种类型内核来显示,好像是 360 浏览器首先主导的 </code></pre> <h2>怎么使用</h2> <h5>1.HTML 标签里的元素名不区分大小写</h5> <p>例如,<code><title></code>标签可以写成 <code><Title></code>,<code><TITLE></code>或以任何其他方式。以下的几种写法都是可以的。</p> <pre><code class="prism language-yaml"> <div<span class="token punctuation">></span>我是div</div<span class="token punctuation">></span> <DIV<span class="token punctuation">></span>我是DIV</DIV<span class="token punctuation">></span> <div<span class="token punctuation">></span>我是DIV</DIV<span class="token punctuation">></span> </code></pre> <h5>2. 闭合标签</h5> <p>大家都知道 html 元素都是使用start tag 开始,end tag结束。但是。。。</p> <ol> <li>只有start tag</li> </ol> <pre><code class="prism language-yaml"><body<span class="token punctuation">></span> <div<span class="token punctuation">></span>1<span class="token punctuation">-</span>我是div <Div<span class="token punctuation">></span>2<span class="token punctuation">-</span>我是DIV </body<span class="token punctuation">></span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/15199924eacd44e7a423d8f00ee71796.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/15199924eacd44e7a423d8f00ee71796.jpg" alt="重读HTML_第1张图片" width="648" height="484" style="border:1px solid black;"></a><br> 会自动生成一个闭合end tag。同时,如果后继还有一个没有end tag的元素,会产生一个树状的结构依次布局。如上图。<br> 第二种情况:</p> <pre><code class="prism language-yaml"><body<span class="token punctuation">></span> <div<span class="token punctuation">></span>我是 开合标签 DIV</DIV<span class="token punctuation">></span> <div<span class="token punctuation">></span>1<span class="token punctuation">-</span>我是div <Div<span class="token punctuation">></span>2<span class="token punctuation">-</span>我是DIV <div<span class="token punctuation">></span>我是 开合标签 DIV</DIV<span class="token punctuation">></span> </body<span class="token punctuation">></span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/7ad52ae9b9e44bddaa957aed17b08605.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/7ad52ae9b9e44bddaa957aed17b08605.jpg" alt="重读HTML_第2张图片" width="650" height="432" style="border:1px solid black;"></a><br> 会依次 生成一个子标签。<br> 2. 只有end tag</p> <pre><code class="prism language-yaml"><body<span class="token punctuation">></span> 我是文字 <div<span class="token punctuation">></span>我是div</div<span class="token punctuation">></span> <div<span class="token punctuation">></span>我是DIV</DIV<span class="token punctuation">></span> 我是DIV<span class="token punctuation">-</span>1</DIV<span class="token punctuation">></span> 我是DIV<span class="token punctuation">-</span>2</div<span class="token punctuation">></span> <DIV<span class="token punctuation">></span>我是DIV</DIV<span class="token punctuation">></span> </body<span class="token punctuation">></span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/2a9485d0acca427383370d6f661a1274.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/2a9485d0acca427383370d6f661a1274.jpg" alt="重读HTML_第3张图片" width="650" height="265" style="border:1px solid black;"></a><br> 把只有end tag当作普通的文字处理。</p> <h5>3.非闭合标签</h5> <p>以 hr 为例:</p> <pre><code class="prism language-yaml"><body<span class="token punctuation">></span> </hr<span class="token punctuation">></span> <hr<span class="token punctuation">></span>qq</hr<span class="token punctuation">></span> </hr<span class="token punctuation">></span> <hr<span class="token punctuation">></span> <hr /<span class="token punctuation">></span> </body<span class="token punctuation">></span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/a99c1bf9d595483597a14c0dfe66be80.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a99c1bf9d595483597a14c0dfe66be80.jpg" alt="重读HTML_第4张图片" width="650" height="207" style="border:1px solid black;"></a><br> <code><hr>、<hr /></code>和<code><hr>qq<hr /></code>;均有效果,注意 <code><hr>qq<hr /></code>会在文字上产生一个横线。而<code></hr></code>没有效果。</p> <h2>语义化标签</h2> <p>一个整体结构的语义类标签</p> <pre><code class="prism language-yaml"><body<span class="token punctuation">></span> <header<span class="token punctuation">></span> <nav<span class="token punctuation">></span> …… </nav<span class="token punctuation">></span> </header<span class="token punctuation">></span> <aside<span class="token punctuation">></span> <nav<span class="token punctuation">></span> …… </nav<span class="token punctuation">></span> </aside<span class="token punctuation">></span> <section<span class="token punctuation">></span>……</section<span class="token punctuation">></span> <section<span class="token punctuation">></span>……</section<span class="token punctuation">></span> <section<span class="token punctuation">></span>……</section<span class="token punctuation">></span> <footer<span class="token punctuation">></span> <address<span class="token punctuation">></span>……</address<span class="token punctuation">></span> </footer<span class="token punctuation">></span> </body<span class="token punctuation">></span> </code></pre> <p>优点是:<br> 1)语义类标签对开发者更为友好,使用语义类标签增强了可读性,即便是在没有CSS的时候,开发者也能够清晰地看出网页的结构,也更为便于团队的开发和维护。<br> 2)除了对人类友好之外,语义类标签也十分适宜机器阅读。它的文字表现力丰富,更适合搜索引擎检索(SEO),也可以让搜索引擎爬虫更好地获取到更多有效信息,有效提升网页的搜索量,并且语义类还可以支持读屏软件,根据文章可以自动生成目录等等<br> 3)自然语境的补充<br> 4)结构化文档的分级</p> <h2>语法</h2> <p>一个问题衍生出来:HTML5 为什么只需要写 <code><!DOCTYPE HTML></code>?</p> <blockquote> <p>HTML5 不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们应该的方式来运行);</p> <p>而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。</p> </blockquote> <h4>基本语法</h4> <p>首先,HTML作为SGML的子集,它遵循SGML的基本语法:包括标签、转义等。<br> SGML还规定了一些特殊的节点类型,在我们之前的DOM课程中已经讲过几种节点类型,它们都有与之对应的HTML语法,我们这里复习一下:<br> <a href="http://img.e-com-net.com/image/info8/f0abbdd5afb4480dba8c75ab9d25b157.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/f0abbdd5afb4480dba8c75ab9d25b157.jpg" alt="重读HTML_第5张图片" width="650" height="372" style="border:1px solid black;"></a></p> <h4>标签语法</h4> <p>标签语法产生元素,我们从语法的角度讲,就用“标签”这个术语,我们从运行时的角度讲,就用“元素”这个术语。<br> HTML中,用于描述一个元素的标签分为开始标签、结束标签和自闭合标签。开始标签和自闭合标签中,又可以有属性。</p> <ul> <li> <p>开始标签:<code><tagname></code></p> <ul> <li>带属性的开始标签: <code><tagname attributename="attributevalue"></code></li> </ul> </li> <li> <p>结束标签:<code></tagname></code></p> </li> <li> <p>自闭合标签:<code><tagname /></code></p> </li> </ul> <p>HTML中开始标签的标签名称只能使用英文字母。<br> 这里需要重点讲一讲属性语法,属性可以使用单引号、双引号或者完全不用引号,这三种情况下,需要转义的部分都不太一样。<br> 属性中可以使用文本实体(后文会介绍)来做转义,属性中,一定需要转义的有下面几种。</p> <ul> <li>无引号属性:<code><tab></code> <code><LF></code> <code><FF></code> <code><SPACE></code> <code>&</code>五种字符。</li> <li>单引号属性:<code>'</code> <code>&</code>两种字符。</li> <li>双引号属性:<code>\"</code> <code>&</code>两种字符。</li> </ul> <p>一般来说,灵活运用属性的形式,是不太用到文本实体转义的。</p> <h5>文本语法</h5> <p>在HTML中,规定了两种文本语法,一种是普通的文本节点,另一种是CDATA文本节点。<br> 文本节点看似是普通的文本,但是,其中有两种字符是必须做转义的:<code><</code> 和 <code>&</code>。<br> 如果我们从某处拷贝了一段文本,里面包含了大量的 <code><</code> 和 <code>&</code>,那么我们就有麻烦了,这时候,就轮到我们的CDATA节点出场了。<br> CDATA也是一种文本,它存在的意义是语法上的意义:在CDATA节点内,不需要考虑多数的转义情况。<br> CDATA内,只有字符组合<code>]]></code>需要处理,这里不能使用转义,只能拆成两个CDATA节点。</p> <h5>注释语法</h5> <p>HTML注释语法以<code><!--</code>开头,以<code>--></code>结尾,注释的内容非常自由,除了<code>--></code>都没有问题。<br> 如果注释的内容一定要出现 <code>--></code>,我们可以拆成多个注释节点。</p> <h5>ProcessingInstruction语法(处理信息)</h5> <p>ProcessingInstruction多数情况下,是给机器看的。HTML中规定了可以有ProcessingInstruction,但是并没有规定它的具体内容,所以可以把它视为一种保留的扩展机制。对浏览器而言,ProcessingInstruction 的作用类似于注释。<br> ProcessingInstruction 包含两个部分,紧挨着第一个问号后,空格前的部分被称为“目标”,这个目标一般表示处理 ProcessingInstruction 的程序名。<br> 剩余部分是它的文本信息,没有任何格式上的约定,完全由文档编写者和处理程序的编写者约定。</p> <h5>DTD(文档类型定义)</h5> <p>现在我们来讲一下DTD,DTD的全称是Document Type Defination,也就是文档类型定义。SGML用DTD来定义每一种文档类型,HTML属于SGML,在HTML5出现之前,HTML都是使用符合SGML规定的DTD。<br> 如果你是一个上个时代走过来的前端,一定还记得HTML4.01有三种DTD。分别是严格模式、过渡模式和frameset模式。</p> <pre><code class="prism language-html"><span class="token doctype"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"></span> </code></pre> <p>严格模式的DTD规定了HTML4.01中需要的标签。</p> <pre><code class="prism language-html"><span class="token doctype"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></span> </code></pre> <p>过渡模式的DTD除了html4.01,还包含了一些被贬斥的标签,这些标签已经不再推荐使用了,但是过渡模式中仍保留了它们。</p> <pre><code class="prism language-html"><span class="token doctype"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"></span> </code></pre> <p>frameset结构的网页如今已经很少见到了,它使用frameset标签把几个网页组合到一起。<br> 众所周知,HTML中允许一些标签不闭合的用法,实际上这些都是符合SGML规定的,并且在DTD中规定好了的。但是,一些程序员喜欢严格遵守XML语法,保证标签闭合性,所以,HTML4.01又规定了XHTML语法,同样有三个版本:<br> 版本一</p> <pre><code class="prism language-html"><span class="token doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></span> </code></pre> <p>版本二</p> <pre><code class="prism language-html"><span class="token doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></span> </code></pre> <p>版本三</p> <pre><code class="prism language-html"><span class="token doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"></span> </code></pre> <p>其实你看看就知道,这些复杂的DTD写法并没有什么实际作用(浏览器根本不会用SGML引擎解析它们),因此,到了HTML5,干脆放弃了SGML子集这项坚持,规定了一个简单的,大家都能记住的DTD:</p> <pre><code class="prism language-html"><span class="token doctype"><!DOCTYPE html></span> </code></pre> <p>但是,HTML5仍然保留了HTML语法和XHTML语法。</p> <h5>文本实体</h5> <p>不知道你注意到没有,HTML4.01的DTD里包含了一个长得很像是URL的东西,其实它是真的可以访问的——但是W3C警告说,禁止任何浏览器在解析网页的时候访问这个URL,不然W3C的服务器会被压垮。我相信很多好奇的前端工程师都把它下载下来打开过。<br> 这是符合SGML规范的DTD,我们前面讲过,SGML的规范十分复杂,所以这里我并不打算讲SGML(其实我也不会),但是这不妨碍我们了解一下DTD的内容。这个DTD规定了HTML包含了哪些标签、属性和文本实体。其中文本实体分布在三个文件中:HTMLsymbol.ent HTMLspecial.ent和HTMLlat1.ent。<br> 所谓文本实体定义就是类似以下的代码:</p> <pre><code class="prism language-javascript"><span class="token operator">&</span>lt<span class="token punctuation">;</span> <span class="token operator">&</span>nbsp<span class="token punctuation">;</span> <span class="token operator">&</span>gt<span class="token punctuation">;</span> <span class="token operator">&</span>amp<span class="token punctuation">;</span> </code></pre> <p>每一个文本实体由<code>&</code>开头,由<code>;</code>结束,这属于基本语法的规定,文本实体可以用<code>#</code>后跟一个十进制数字,表示字符Unicode值。除此之外这两个符号之间的内容,则由DTD决定。<br> 我这里数了一下,HTML4.01的DTD中,共规定了255个文本实体,在如下位置:<br> https://www.w3school.com.cn/tags/html_ref_symbols.html</p> <h2>浏览器是如何解析请求回来的HTML代码,DOM树又是如何构建的?</h2> <p><a href="http://img.e-com-net.com/image/info8/d284febacb2e401aa6a38ae808cc7d54.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d284febacb2e401aa6a38ae808cc7d54.jpg" alt="重读HTML_第6张图片" width="650" height="248" style="border:1px solid black;"></a></p> <h5>解析代码</h5> <p><strong>1.词(token)是如何被拆分的</strong><br> 首先我们来看看一个非常标准的标签,会被如何拆分:<br> <code><p class="a">text text text</p></code><br> 如果我们从最小有意义单元的定义来拆分,第一个词(token)是什么呢?显然,作为一个词(token),整个p标签肯定是过大了(它甚至可以嵌套)。<br> 那么,只用p标签的开头是不是合适吗?我们考虑到起始标签也是会包含属性的,最小的意义单元其实是“<p” ,所以“ <p” 就是我们的第一个词(token)。<br> 我们继续拆分,可以把这段代码依次拆成词(token):<br> • <p“标签开始”的开始;<br> • class=“a” 属性;<br> • > “标签开始”的结束;<br> • text text text 文本;<br> • <code></p></code>标签结束。<br> <strong>2.状态机</strong><br> <a href="http://img.e-com-net.com/image/info8/2a8df61b521e4fa78a43d7f386615b0a.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/2a8df61b521e4fa78a43d7f386615b0a.jpg" alt="重读HTML_第7张图片" width="650" height="625" style="border:1px solid black;"></a><br> 举个例子:<br> 区分 “< ”和 “非<”:<br> • 如果获得的是一个非<字符,那么可以认为进入了一个文本节点;<br> • 如果获得的是一个<字符,那么进入一个标签状态。<br> 当然了,我们这里的分析比较粗略,真正完整的HTML词法状态机,比我们描述的要复杂的多。<br> 不过当我们在标签状态时,则会面临着一些可能性。<br> • 比如下一个字符是“ ! ” ,那么很可能是进入了注释节点或者CDATA节点。<br> • 如果下一个字符是 “/ ”,那么可以确定进入了一个结束标签。<br> • 如果下一个字符是字母,那么可以确定进入了一个开始标签。<br> • 如果我们要完整处理各种HTML标准中定义的东西,那么还要考虑“ ? ”“% ”等内容。</p> <h5>构建DOM树</h5> <p><a href="http://img.e-com-net.com/image/info8/7f77757fff9f40ca8fe29759fbee15e6.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/7f77757fff9f40ca8fe29759fbee15e6.jpg" alt="重读HTML_第8张图片" width="650" height="316" style="border:1px solid black;"></a><br> 前面我们的词(token)中,以下两个是需要成对匹配的:<br> • tag start<br> • tag end<br> 一个简单的构建DOM树过程:<br> • 栈顶元素就是当前节点;<br> • 遇到属性,就添加到当前节点;<br> • 遇到文本节点,如果当前节点是文本节点,则跟文本节点合并,否则入栈成为当前节点的子节点;<br> • 遇到注释节点,作为当前节点的子节点;<br> • 遇到tag start就入栈一个节点,当前节点就是这个节点的父节点;<br> • 遇到tag end就出栈一个节点(还可以检查是否匹配)。<br> 执行顺序 思路,有点像leetcode的有效的括号。下面有个简单的视频做演示。</p> <p>https://www.yuque.com/presbyter/ysvc23/bpo4b2#97b884e1</p> <p></p> <div class="csdn-video-box"> <p>栈构造 DOM 树的全过程</p> </div> <p></p> <h3>参考</h3> <ol> <li>现代浏览器工作原理</li> <li>重学前端(winter):极客时间</li> <li>浏览器工作原理与实践 (李兵):极客时间</li> <li>MDN</li> <li>Web Fundamentals</li> </ol> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1280815928673583104"></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">你可能感兴趣的:(随手记论文,html)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1943987101301272576.htm" title="精通Canvas:15款时钟特效代码实现指南" target="_blank">精通Canvas:15款时钟特效代码实现指南</a> <span class="text-muted">烟幕缭绕</span> <div>本文还有配套的精品资源,点击获取简介:HTML5的Canvas是一个用于绘制矢量图形的API,通过JavaScript实现动态效果。本项目集合了15种不同的时钟特效代码,帮助开发者通过学习绘制圆形、线条、时间更新、旋转、颜色样式设置及动画效果等概念,深化对Canvas的理解和应用。项目中的CSS文件负责时钟的样式设定,而JS文件则包含实现各种特效的逻辑,通过不同的函数或类处理时间更新和动画绘制,提</div> </li> <li><a href="/article/1943983696184930304.htm" title="基于链家网的二手房数据采集清洗与可视化分析" target="_blank">基于链家网的二手房数据采集清洗与可视化分析</a> <span class="text-muted">Mint_Datazzh</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE/1.htm">项目</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB/1.htm">网络爬虫</a> <div>个人学习内容笔记,仅供参考。项目链接:https://gitee.com/rongwu651/lianjia原文链接:基于链家网的二手房数据采集清洗与可视化分析–笔墨云烟研究内容该课题的主要目的是通过将二手房网站上的存量与已销售房源,构建一个二手房市场行情情况与房源特点的可视化平台。该平台通过HTML架构和Echarts完成可视化的搭建。因此,该课题的主要研究内容就是如何利用相关技术设计并实现这样</div> </li> <li><a href="/article/1943963776244051968.htm" title="入门html这篇文章就够了" target="_blank">入门html这篇文章就够了</a> <span class="text-muted">ξ流ぁ星ぷ132</span> <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>HTML笔记文章目录HTML笔记html介绍什么是htmlhtml的作用HTML标签介绍常用标签标签and标签and标签u标签del删除线br标签用于换行pre标签,预处理标签span标签div标签sub标签andsup标签hr标签h1,h2...h6标签:HTML5中的语义标签:特殊字符img标签a标签第一种用法:超链接第二种用法:锚点video标签表格标签:form标签input标签selec</div> </li> <li><a href="/article/1943926338326949888.htm" title="flutter知识点" target="_blank">flutter知识点</a> <span class="text-muted">ZhDan91</span> <a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a> <div>#时隔4年了#4年前用flutter开发海外项目和医疗项目。绘制界面的语法与html还是较类似的。把这些封印的记忆和技术回顾一下,最开始是开发Android出身的,所以开发起flutter来依旧是用的androidstudio开发工具。整理下用到的知识点:整理来源:flutter面试题——基础篇(1)-CSDN博客1、Dart是单线程的。在单线程中以消息循环来运行的。其中敖汉两个任务队列。一个是微</div> </li> <li><a href="/article/1943919026744913920.htm" title="JavaScript之DOM操作与事件处理详解" target="_blank">JavaScript之DOM操作与事件处理详解</a> <span class="text-muted">AA-代码批发V哥</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>JavaScript之DOM操作与事件处理详解一、DOM基础:理解文档对象模型二、DOM元素的获取与访问2.1基础获取方法2.2集合的区别与注意事项三、DOM元素的创建与修改3.1创建与插入元素3.2修改元素属性与样式3.2.1属性操作3.2.2样式操作3.3元素内容的修改四、DOM元素的删除与替换4.1删除元素4.2替换元素五、事件处理:实现页面交互5.1事件绑定的三种方式5.1.1HTML属性</div> </li> <li><a href="/article/1943914107526770688.htm" title="Vue框架之模板语法全面解析" target="_blank">Vue框架之模板语法全面解析</a> <span class="text-muted">AA-代码批发V哥</span> <a class="tag" taget="_blank" href="/search/Vue/1.htm">Vue</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>Vue框架之模板语法全面解析一、模板语法的核心思想二、插值表达式:数据渲染的基础2.1基本用法:渲染文本2.2纯HTML渲染:`v-html`指令2.3一次性插值:`v-once`指令三、指令系统:控制DOM的行为3.1条件渲染:`v-if`与`v-show`3.1.1`v-if`:动态创建/销毁元素3.1.2`v-else`与`v-else-if`:条件分支3.1.3`v-show`:动态显示/</div> </li> <li><a href="/article/1943905285789773824.htm" title="three前置课程知识" target="_blank">three前置课程知识</a> <span class="text-muted"></span> <div>学习中文网(1.threejs文件包下载和目录简介|Three.js中文网)threejs官方文件包所有版本:https://github.com/mrdoob/three.js/releases更新迭代较快,要选择对应版本使用---下载zip压缩包Threejs官网中文文档链接:https://threejs.org/docs/index.html#manual/zh/重要的内容docs包:文档</div> </li> <li><a href="/article/1943875785089675264.htm" title="Webpack5 多页面实践" target="_blank">Webpack5 多页面实践</a> <span class="text-muted"></span> <div>特性维度单页面应用-SPA多页面统一目录-MPA多页面单独部署-MPA入口数量单个,只有一个HTML文件多个,多个HTML文件多个,多个HTML文件,分别打包输出资源输出结构所有资源输出到统一目录(如js/,css/)所有页面的资源共用js/,css/等目录每页资源放在各自目录(如index/js/,index/css/)公共资源复用高:依赖打入主包或懒加载chunk,资源完全共享中:可通过spl</div> </li> <li><a href="/article/1943844765225250816.htm" title="前端面试题——5.AjAX的缺点?" target="_blank">前端面试题——5.AjAX的缺点?</a> <span class="text-muted">浅端</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">前端面试题</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">前端面试题</a> <div>①传统的web交互是:用户一个网页动作,就会发送一个http请求到服务器,服务器处理完该请求再返回一个完整的HTML页面,客户端再重新加载,这样极大地浪费了带宽。②AJAX的出现解决了这个问题,它只会向服务器请求用户所需要的数据,并在客户端采用JavaScript处理返回的数据,操作DOM更新页面。③AJXA优点:无刷新更新页面异步服务器通信前端后端负载均衡④AJAX缺点:干掉了Back和Hist</div> </li> <li><a href="/article/1943832156052713472.htm" title="配置Nginx实现静态资源访问" target="_blank">配置Nginx实现静态资源访问</a> <span class="text-muted">Gappsong874</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><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%9E%B6%E6%9E%84/1.htm">安全架构</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%BC%80%E5%8F%91/1.htm">运维开发</a> <div>Nginx是一款高性能的HTTP和反向代理服务器,常用于处理静态资源请求。通过合理配置,可以显著提升静态资源的访问速度和服务器性能。以下内容将详细介绍如何配置Nginx以实现静态资源的高效访问。基本静态资源配置静态资源通常包括HTML文件、CSS样式表、JavaScript脚本、图片、视频等。Nginx通过简单的配置即可处理这些请求。在Nginx的配置文件中,通常位于/etc/nginx/ngin</div> </li> <li><a href="/article/1943815130785574912.htm" title="Apache http 强制 https" target="_blank">Apache http 强制 https</a> <span class="text-muted">熊猫小账本App</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/Safe/1.htm">Safe</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/https/1.htm">https</a><a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a> <div>1.修改一下文件配置sudonano/etc/apache2/sites-enabled/000-default.confServerNamehongweizhu.comServerAliaswww.hongweizhu.comServerAdminwebmaster@localhostDocumentRoot/var/www/html#强制重定向到HTTPSRewriteEngineOnRewr</div> </li> <li><a href="/article/1943798231427248128.htm" title="在html中加入网址,网页超链接怎么做,添加超链接网址的的详细步骤" target="_blank">在html中加入网址,网页超链接怎么做,添加超链接网址的的详细步骤</a> <span class="text-muted">一只爪子</span> <a class="tag" taget="_blank" href="/search/%E5%9C%A8html%E4%B8%AD%E5%8A%A0%E5%85%A5%E7%BD%91%E5%9D%80/1.htm">在html中加入网址</a> <div>此系列教程主要讲解HTML从基础到精通。自己能够设计一个完整的前端网页项目。程序员写代码在HTML中添加图片其实很简单,就是添加一个img的标签。图片标签的语法一般有src、alt、width、height四种属性就够用了。效果:图片的显示效果图片路径的写法src表示的是图片的路径,这里面的值应该怎么写呢?(1)html文件和图片在相同一个文件夹下。HTML文件和图片文件在相同的目录下,可以直接书</div> </li> <li><a href="/article/1943787134687178752.htm" title="jmeter gui 生成不了cli报告文件" target="_blank">jmeter gui 生成不了cli报告文件</a> <span class="text-muted"></span> <div>在windows系统下,使用Jmetergui生成HTML报告报错,使用命令行也报错:报错信息:Anerroroccurred:Errorwhileprocessingsamples:Consumerfailedwithmessage:Consumerfailedwithmessage:Consumerfailedwithmessage:Consumerfailedwithmessage:Begi</div> </li> <li><a href="/article/1943786503704473600.htm" title="06.jmeter跨线程组传参" target="_blank">06.jmeter跨线程组传参</a> <span class="text-muted">mandy_test</span> <a class="tag" taget="_blank" href="/search/Jmeter/1.htm">Jmeter</a><a class="tag" taget="_blank" href="/search/jmeter/1.htm">jmeter</a> <div>参考此篇博文:jmeter-跨线程组传参的两种方法https://www.cnblogs.com/fanf/p/17346008.html这里是自己常用的一种方法:如果一个线程组的请求用到另一个线程组的参数,需要将参数转为全局变量来使用。以token来举例,因为token这个请求有请求头,跟要用到token的请求的请求头不一样,所以只能单独分开放在不同的线程组。线程组中的参数是有作用域的,不能直接</div> </li> <li><a href="/article/1943761678143385600.htm" title="观众信息设置与统计(视频高级分析与统计功能)" target="_blank">观众信息设置与统计(视频高级分析与统计功能)</a> <span class="text-muted">视频砖家</span> <a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%E5%AE%89%E5%85%A8/1.htm">视频安全</a><a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%E5%8A%A0%E5%AF%86/1.htm">视频加密</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%E8%A7%82%E7%9C%8B%E5%88%86%E6%9E%90/1.htm">视频观看分析</a><a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">视频数据分析</a> <div>Web播放器(POLYV-html5-player)支持设置观众信息参数,设置后在播放器上报的观看日志中会附带观众信息,这样用户就可以通过管理后台的统计页面或服务端API来查看特定观众的视频观看情况了。一、观众信息设置播放器设置观众信息参数的代码示例如下:varplayer=polyvPlayer({wrap:'#player',width:800,height:533,vid:'88083abb</div> </li> <li><a href="/article/1943756131029544960.htm" title="HTTP注入、URL重定向漏洞验证测试" target="_blank">HTTP注入、URL重定向漏洞验证测试</a> <span class="text-muted">afei00123</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E6%BC%8F%E6%B4%9E%E9%AA%8C%E8%AF%81%E4%B8%8E%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/1.htm">漏洞验证与渗透测试</a> <div>目录1.前言2.HTTP注入漏洞介绍3.URL重定向漏洞介绍4.HTTP注入漏洞验证5.URL重定向漏洞验证6.修复建议(1)针对HTML注入漏洞修复建议(2)针对URL重定向漏洞修复建议1.前言今天在公司使用AWVS和Appscan对目标网站进行漏扫时发现了HTTP注入和URL重定向。并使用Burp进行了验证。afei2.HTTP注入漏洞介绍基于HTTP协议注入威胁技术是一种新型危害性很强的攻击</div> </li> <li><a href="/article/1943732060199907328.htm" title="7.11JS项目:倒计时页面跳转+评论发布" target="_blank">7.11JS项目:倒计时页面跳转+评论发布</a> <span class="text-muted">椒盐螺丝钉</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>一、页面跳转演示思路构建html框架后,在JS中获取对象:跳转按钮与显示剩余时间文本添加事件监听:检测点击行为->调用跳转函数跳转函数:(1)获取时间戳,(2)延时函数实现跳转,(3)间歇函数显示剩余时间——参考倒计时html框架前往百度接下来是JS部分,获取按钮与显示文本对象,添加事件监听constdiv=document.querySelector('div')constspan=docume</div> </li> <li><a href="/article/1943721976522665984.htm" title="爬虫技术:从基础到高级,探索数据抓取的奥秘" target="_blank">爬虫技术:从基础到高级,探索数据抓取的奥秘</a> <span class="text-muted"></span> <div>一、基础爬虫:揭开数据抓取的神秘面纱对于初学者来说,基础爬虫是入门的起点。基础爬虫的目标通常是静态网页,这些网页的内容在加载时就已经确定,不需要与服务器进行交互。通过简单的HTTP请求和HTML解析,就可以获取到网页中的数据。在基础爬虫中,最核心的技术是HTML解析。HTML是网页的结构语言,它定义了网页的布局和内容。爬虫程序需要通过解析HTML,找到其中的文本、图片、链接等元素。常用的HTML解</div> </li> <li><a href="/article/1943718188034355200.htm" title="Python 代码实现模糊查询" target="_blank">Python 代码实现模糊查询</a> <span class="text-muted"></span> <div>转载:https://www.cnblogs.com/weiman3389/p/6047017.html</div> </li> <li><a href="/article/1943710115400052736.htm" title="【前端】【Echarts】【Liquidfill 水球图】深入理解 ECharts Liquidfill 水球图:从入门到进阶" target="_blank">【前端】【Echarts】【Liquidfill 水球图】深入理解 ECharts Liquidfill 水球图:从入门到进阶</a> <span class="text-muted">患得患失949</span> <a class="tag" taget="_blank" href="/search/Echarts%E5%AD%A6%E4%B9%A0/1.htm">Echarts学习</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%A4%A7%E5%B1%8F/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/echarts/1.htm">echarts</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>效果深入理解EChartsLiquidfill水球图:从入门到进阶在可视化数据展示中,水球图(Liquidfill)是一种极具表现力的图表。它形象地用“水位高低”表示某个百分比或完成度,非常适合展示指标进度、占比、加载状态等。本文将结合实际HTML示例,带你全面掌握如何使用ECharts+echarts-liquidfill插件绘制水球图,并通过多个实例逐步讲解配置技巧。准备工作在HTML中使用水</div> </li> <li><a href="/article/1943702178145300480.htm" title="多核MCU可用于简化嵌入式设计" target="_blank">多核MCU可用于简化嵌入式设计</a> <span class="text-muted"></span> <div>转自:http://www.elecfans.com/d/851199.html嵌入式系统设计人员面临着对更高性能和更快上市时间的不断增长的需求。嵌入式处理器需要经常实时地执行不断扩展的任务。同时,应用需要高吞吐量和高能效以及小外形和低成本。多核微控制器单元(MCU)提供了一种可行的新解决方案,利用模块化设计以经济的价格提供多倍的性能提升。几十年来,随着IC上晶体管数量的增加,芯片性能不断提高。采</div> </li> <li><a href="/article/1943683147245875200.htm" title="C#泛型详解" target="_blank">C#泛型详解</a> <span class="text-muted"></span> <div>C#泛型详解这篇文章主要讲解C#中的泛型,泛型在C#中有很重要的地位,尤其是在搭建项目框架的时候。转自:https://www.cnblogs.com/dotnet261010/p/9034594.html这篇文章主要讲解C#中的泛型,泛型在C#中有很重要的地位,尤其是在搭建项目框架的时候。一、什么是泛型泛型是C#2.0推出的新语法,不是语法糖,而是2.0由框架升级提供的功能。我们在编程程序时,经</div> </li> <li><a href="/article/1943670923659898880.htm" title="Thymeleaf在前台无法显示页面" target="_blank">Thymeleaf在前台无法显示页面</a> <span class="text-muted">蹦跑的蜗牛</span> <a class="tag" taget="_blank" href="/search/Springboot/1.htm">Springboot</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>在SpringBoot把我搞了两个小时,真的是笨到家了。通过控制器显示在界面这在thinkphp中是多么简单的一个问题。注解在Spring中真的是用神了。tp中应用就用一个use加命名空间就ok,阿西吧~~~~Spring中有点转不过来呀!言归正传Thymeleaf不能跳转到html页面,首先检查是否安装Thymeleaf依赖,一定要是spring-boot-starter-thymeleaf而不</div> </li> <li><a href="/article/1943667391619723264.htm" title="vue基础" target="_blank">vue基础</a> <span class="text-muted">知还215</span> <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>在vue项目下的src->App.vue中有三个模板1.script是写js代码的地方2.template是写html的地方3.style是写css的地方npmi的作用是加载需要的依赖包</div> </li> <li><a href="/article/1943600703155007488.htm" title="【web应用】若依框架中,使用Echarts导出报表为PDF文件" target="_blank">【web应用】若依框架中,使用Echarts导出报表为PDF文件</a> <span class="text-muted">JosieBook</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Java%E5%85%A8%E6%A0%88/1.htm">Java全栈</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/echarts/1.htm">echarts</a><a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a> <div>文章目录前言一、Echarts准备工作1、查看是否安装了Echarts2、Echarts导入script中3、使用Echarts创建图表二、报表制作打印html2canvas和jsPDF准备工作1、安装html2canvas和jsPDF依赖包2、html2canvas和jsPDF引用到script中3、制作并打印报表三、导出结果前言若依框架前端中,要使用一些文本、数据、图表制作报表,然后导出,那么</div> </li> <li><a href="/article/1943600072495263744.htm" title="如何解决window.__nuxt__太大的问题" target="_blank">如何解决window.__nuxt__太大的问题</a> <span class="text-muted"></span> <div>原文链接我自己的网站-----如何解决window.__nuxt__太大的问题提前预告在解决了window.__nuxt__之后,我渲染出来的首页(仅html)缩小了40%问题由于使用了nuxt做ssr,所以会在服务端进行渲染,但是前不久在做seo的时候发现一个问题,如下图:可以看到红色方框里面的脚本,里面包含了服务端渲染所需要的数据(或者说开发者需要用到的数据),但是这部分数据只是服务端需要的,</div> </li> <li><a href="/article/1943597924671877120.htm" title="HTB academy -- Linux Privilege Escalation --Service-based Privilege Escalation" target="_blank">HTB academy -- Linux Privilege Escalation --Service-based Privilege Escalation</a> <span class="text-muted">网络安全小吗喽</span> <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%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a> <div>VulnerableServices#!/bin/bash#screenroot.sh#setuidscreenv4.5.0localrootexploit#abusesld.so.preloadoverwritingtogetroot.#bug:https://lists.gnu.org/archive/html/screen-devel/2017-01/msg00025.html#HACKTH</div> </li> <li><a href="/article/1943590865607913472.htm" title="JavaScript 编程精解(Eloquent)第四版(四)" target="_blank">JavaScript 编程精解(Eloquent)第四版(四)</a> <span class="text-muted">绝不原创的飞龙</span> <a class="tag" taget="_blank" href="/search/%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB/1.htm">默认分类</a><a class="tag" taget="_blank" href="/search/%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB/1.htm">默认分类</a> <div>译者:飞龙协议:CCBY-NC-SA4.0第十九章:HTTP与表单超文本传输协议(HyperTextTransferProtocol),在第十三章中介绍,是在万维网上请求和提供数据的机制。本章更详细地描述了该协议,并解释了浏览器JavaScript如何访问它。协议如果你在浏览器的地址栏中输入[eloquentjavascript.net/18_http.xhtml](http://eloquent</div> </li> <li><a href="/article/1943589856739389440.htm" title="【docker】Docker部署mysql并提供客户端访问" target="_blank">【docker】Docker部署mysql并提供客户端访问</a> <span class="text-muted">weixin_42956047</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/MySQL/1.htm">MySQL</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/docker%E9%83%A8%E7%BD%B2mysql/1.htm">docker部署mysql</a> <div>在服务器使用docker镜像创建容器来部署数据库,如mysql,这种方式是超级常见的,学习时间久了,有点过程会容易遗忘,特此写下博客记录,方便以后使用。1.CentOS7安装docker环境https://www.cnblogs.com/mazhilin/p/11553510.html2.dockerpull最新mysql镜像获取mysql镜像dockersearchmysql//查询mysql镜</div> </li> <li><a href="/article/1943571835081781248.htm" title="阿幸课堂随机点名" target="_blank">阿幸课堂随机点名</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/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> <div>代码功能这个是一个HTML网页端,简单来说就是可以双击之后运行进行点名。当然,不局限于课堂点名代码功能Excel导入增强:增加了列选择器,可以指定从哪一列读取学生姓名增加了起始行选择器,可以跳过标题行或其他非学生数据行自动检测功能:尝试识别可能包含姓名的列并自动选择一键清空功能:在学生列表上方添加了“清空名单”按钮点击后会提示确认,防止误操作用户体验优化:导入Excel后显示导入选项,导入完成后自</div> </li> <li><a href="/article/98.htm" title="微信开发者验证接口开发" target="_blank">微信开发者验证接口开发</a> <span class="text-muted">362217990</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1+%E5%BC%80%E5%8F%91%E8%80%85+token+%E9%AA%8C%E8%AF%81/1.htm">微信 开发者 token 验证</a> <div>微信开发者接口验证。 Token,自己随便定义,与微信填写一致就可以了。 根据微信接入指南描述 http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html 第一步:填写服务器配置 第二步:验证服务器地址的有效性 第三步:依据接口文档实现业务逻辑 这里主要讲第二步验证服务器有效性。 建一个</div> </li> <li><a href="/article/225.htm" title="一个小编程题-类似约瑟夫环问题" target="_blank">一个小编程题-类似约瑟夫环问题</a> <span class="text-muted">BrokenDreams</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a> <div>        今天群友出了一题:         一个数列,把第一个元素删除,然后把第二个元素放到数列的最后,依次操作下去,直到把数列中所有的数都删除,要求依次打印出这个过程中删除的数。      &</div> </li> <li><a href="/article/352.htm" title="linux复习笔记之bash shell (5) 关于减号-的作用" target="_blank">linux复习笔记之bash shell (5) 关于减号-的作用</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux%E5%85%B3%E4%BA%8E%E5%87%8F%E5%8F%B7%E2%80%9C-%E2%80%9D%E7%9A%84%E5%90%AB%E4%B9%89/1.htm">linux关于减号“-”的含义</a><a class="tag" taget="_blank" href="/search/linux%E5%85%B3%E4%BA%8E%E5%87%8F%E5%8F%B7%E2%80%9C-%E2%80%9D%E7%9A%84%E7%94%A8%E9%80%94/1.htm">linux关于减号“-”的用途</a><a class="tag" taget="_blank" href="/search/linux%E5%85%B3%E4%BA%8E%E2%80%9C-%E2%80%9D%E7%9A%84%E5%90%AB%E4%B9%89/1.htm">linux关于“-”的含义</a><a class="tag" taget="_blank" href="/search/linux%E5%85%B3%E4%BA%8E%E5%87%8F%E5%8F%B7%E7%9A%84%E5%90%AB%E4%B9%89/1.htm">linux关于减号的含义</a> <div>    转载请出自出处: http://eksliang.iteye.com/blog/2105677        管道命令在bash的连续处理程序中是相当重要的,尤其在使用到前一个命令的studout(标准输出)作为这次的stdin(标准输入)时,就显得太重要了,某些命令需要用到文件名,例如上篇文档的的切割命令(split)、还有</div> </li> <li><a href="/article/479.htm" title="Unix(3)" target="_blank">Unix(3)</a> <span class="text-muted">18289753290</span> <a class="tag" taget="_blank" href="/search/unix+ksh/1.htm">unix ksh</a> <div>1)若该变量需要在其他子进程执行,则可用"$变量名称"或${变量}累加内容 什么是子进程?在我目前这个shell情况下,去打开一个新的shell,新的那个shell就是子进程。一般状态下,父进程的自定义变量是无法在子进程内使用的,但通过export将变量变成环境变量后就能够在子进程里面应用了。 2)条件判断: &&代表and  ||代表or&nbs</div> </li> <li><a href="/article/606.htm" title="关于ListView中性能优化中图片加载问题" target="_blank">关于ListView中性能优化中图片加载问题</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/ListView/1.htm">ListView</a> <div>ListView的性能优化网上很多信息,但是涉及到异步加载图片问题就会出现问题。 具体参看上篇文章http://314858770.iteye.com/admin/blogs/1217594   如果每次都重新inflate一个新的View出来肯定会造成性能损失严重,可能会出现listview滚动是很卡的情况,还会出现内存溢出。 现在想出一个方法就是每次都添加一个标识,然后设置图</div> </li> <li><a href="/article/733.htm" title="德国总理默多克:给国人的一堂“震撼教育”课" target="_blank">德国总理默多克:给国人的一堂“震撼教育”课</a> <span class="text-muted">永夜-极光</span> <a class="tag" taget="_blank" href="/search/%E6%95%99%E8%82%B2/1.htm">教育</a> <div>http://bbs.voc.com.cn/topic-2443617-1-1.html德国总理默多克:给国人的一堂“震撼教育”课  安吉拉—默克尔,一位经历过社会主义的东德人,她利用自己的博客,发表一番来华前的谈话,该说的话,都在上面说了,全世界想看想传播——去看看默克尔总理的博客吧!   德国总理默克尔以她的低调、朴素、谦和、平易近人等品格给国人留下了深刻印象。她以实际行动为中国人上了一堂</div> </li> <li><a href="/article/860.htm" title="关于Java继承的一个小问题。。。" target="_blank">关于Java继承的一个小问题。。。</a> <span class="text-muted">随便小屋</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>今天看Java 编程思想的时候遇见一个问题,运行的结果和自己想想的完全不一样。先把代码贴出来! //CanFight接口 interface Canfight { void fight(); } //ActionCharacter类 class ActionCharacter { public void fight() { System.out.pr</div> </li> <li><a href="/article/987.htm" title="23种基本的设计模式" target="_blank">23种基本的设计模式</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。   Adapter:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。   Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。   Builder:将一个复杂对象的构建与它的表示分离,使得同</div> </li> <li><a href="/article/1114.htm" title="《周鸿祎自述:我的互联网方法论》读书笔记" target="_blank">《周鸿祎自述:我的互联网方法论》读书笔记</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/1.htm">读书笔记</a> <div>从用户的角度来看,能解决问题的产品才是好产品,能方便/快速地解决问题的产品,就是一流产品.   商业模式不是赚钱模式 一款产品免费获得海量用户后,它的边际成本趋于0,然后再通过广告或者增值服务的方式赚钱,实际上就是创造了新的价值链.   商业模式的基础是用户,木有用户,任何商业模式都是浮云.商业模式的核心是产品,本质是通过产品为用户创造价值. 商业模式还包括寻找需求</div> </li> <li><a href="/article/1241.htm" title="JavaScript动态改变样式访问技术" target="_blank">JavaScript动态改变样式访问技术</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/style%E5%B1%9E%E6%80%A7/1.htm">style属性</a><a class="tag" taget="_blank" href="/search/ClassName%E5%B1%9E%E6%80%A7/1.htm">ClassName属性</a> <div>  一:style属性 格式:  HTML元素.style.样式属性="值";   创建菜单:在html标签中创建 或者 在head标签中用数组创建   <html> <head> <title>style改变样式</title> </head> &l</div> </li> <li><a href="/article/1368.htm" title="jQuery的deferred对象详解" target="_blank">jQuery的deferred对象详解</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/deferred%E5%AF%B9%E8%B1%A1/1.htm">deferred对象</a> <div>        jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。         每个版本都会引入一些新功能,从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。    &nb</div> </li> <li><a href="/article/1495.htm" title="淘宝开放平台TOP" target="_blank">淘宝开放平台TOP</a> <span class="text-muted">Bill_chen</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%89%A9%E6%B5%81/1.htm">物流</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a> <div>淘宝网开放平台首页:http://open.taobao.com/ 淘宝开放平台是淘宝TOP团队的产品,TOP即TaoBao Open Platform, 是淘宝合作伙伴开发、发布、交易其服务的平台。 支撑TOP的三条主线为:    1.开放数据和业务流程     * 以API数据形式开放商品、交易、物流等业务;  &</div> </li> <li><a href="/article/1622.htm" title="【大型网站架构一】大型网站架构概述" target="_blank">【大型网站架构一】大型网站架构概述</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%AB%99%E6%9E%B6%E6%9E%84/1.htm">网站架构</a> <div>大型互联网特点 面对海量用户、海量数据 大型互联网架构的关键指标 高并发 高性能 高可用 高可扩展性 线性伸缩性 安全性 大型互联网技术要点   前端优化 CDN缓存 反向代理 KV缓存 消息系统 分布式存储 NoSQL数据库 搜索 监控 安全 想到的问题: 1.对于订单系统这种事务型系统,如</div> </li> <li><a href="/article/1749.htm" title="eclipse插件hibernate tools安装" target="_blank">eclipse插件hibernate tools安装</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div> eclipse helios(3.6)版 1.启动eclipse 2.选择 Help > Install New Software...> 3.添加如下地址: http://download.jboss.org/jbosstools/updates/stable/helios/ 4.选择性安装:hibernate tools在All Jboss tool</div> </li> <li><a href="/article/1876.htm" title="Jquery easyui Form表单提交注意事项" target="_blank">Jquery easyui Form表单提交注意事项</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/jquery+easyui/1.htm">jquery easyui</a> <div>jquery easyui对表单的提交进行了封装,提交的方式采用的是ajax的方式,在开发的时候应该注意的事项如下:         1、在定义form标签的时候,要将method属性设置成post或者get,特别是进行大字段的文本信息提交的时候,要将method设置成post方式提交,否则页面会抛出跨域访问等异常。所以这个要</div> </li> <li><a href="/article/2003.htm" title="Trie tree(字典树)的Java实现及其应用-统计以某字符串为前缀的单词的数量" target="_blank">Trie tree(字典树)的Java实现及其应用-统计以某字符串为前缀的单词的数量</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java%E5%AE%9E%E7%8E%B0/1.htm">java实现</a> <div> import java.util.LinkedList; public class CaseInsensitiveTrie { /** 字典树的Java实现。实现了插入、查询以及深度优先遍历。 Trie tree's java implementation.(Insert,Search,DFS) Problem Description Igna</div> </li> <li><a href="/article/2130.htm" title="html css 鼠标形状样式汇总" target="_blank">html css 鼠标形状样式汇总</a> <span class="text-muted">chenbowen00</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>css鼠标手型cursor中hand与pointer  Example:CSS鼠标手型效果 <a href="#" style="cursor:hand">CSS鼠标手型效果</a><br/>  Example:CSS鼠标手型效果 <a href="#" style=&qu</div> </li> <li><a href="/article/2257.htm" title="[IT与投资]IT投资的几个原则" target="_blank">[IT与投资]IT投资的几个原则</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/it/1.htm">it</a> <div>       无论是想在电商,软件,硬件还是互联网领域投资,都需要大量资金,虽然各个国家政府在媒体上都给予大家承诺,既要让市场的流动性宽松,又要保持经济的高速增长....但是,事实上,整个市场和社会对于真正的资金投入是非常渴望的,也就是说,表面上看起来,市场很活跃,但是投入的资金并不是很充足的......    </div> </li> <li><a href="/article/2384.htm" title="oracle with语句详解" target="_blank">oracle with语句详解</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/with/1.htm">with</a><a class="tag" taget="_blank" href="/search/with+as/1.htm">with as</a> <div>oracle with语句详解 转 在oracle中,select 查询语句,可以使用with,就是一个子查询,oracle 会把子查询的结果放到临时表中,可以反复使用 例子:注意,这是sql语句,不是pl/sql语句, 可以直接放到jdbc执行的 ----------------------------------------------------------------</div> </li> <li><a href="/article/2511.htm" title="hbase的简单操作" target="_blank">hbase的简单操作</a> <span class="text-muted">deng520159</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/hbase/1.htm">hbase</a> <div>近期公司用hbase来存储日志,然后再来分析 ,把hbase开发经常要用的命令找了出来. 用ssh登陆安装hbase那台linux后 用hbase shell进行hbase命令控制台! 表的管理 1)查看有哪些表 hbase(main)> list 2)创建表   # 语法:create <table>, {NAME => <family&g</div> </li> <li><a href="/article/2638.htm" title="C语言scanf继续学习、算术运算符学习和逻辑运算符" target="_blank">C语言scanf继续学习、算术运算符学习和逻辑运算符</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a> <div>/* 2013年3月11日20:37:32 地点:北京潘家园 功能:完成用户格式化输入多个值 目的:学习scanf函数的使用 */ # include <stdio.h> int main(void) { int i, j, k; printf("please input three number:\n"); //提示用</div> </li> <li><a href="/article/2765.htm" title="2015越来越好" target="_blank">2015越来越好</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E6%AD%8C%E6%9B%B2/1.htm">歌曲</a> <div>越来越好 房子大了电话小了 感觉越来越好 假期多了收入高了 工作越来越好 商品精了价格活了 心情越来越好 天更蓝了水更清了 环境越来越好 活得有奔头人会步步高 想做到你要努力去做到 幸福的笑容天天挂眉梢 越来越好 婆媳和了家庭暖了 生活越来越好 孩子高了懂事多了 学习越来越好 朋友多了心相通了 大家越来越好 道路宽了心气顺了 日子越来越好 活的有精神人就不显</div> </li> <li><a href="/article/2892.htm" title="java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Tim" target="_blank">java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Tim</a> <span class="text-muted">feiteyizu</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>数据表中有记录的time字段(属性为timestamp)其值为:“0000-00-00 00:00:00” 程序使用select 语句从中取数据时出现以下异常: java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date   java.sql.SQLException: Valu</div> </li> <li><a href="/article/3019.htm" title="Ehcache(07)——Ehcache对并发的支持" target="_blank">Ehcache(07)——Ehcache对并发的支持</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91/1.htm">并发</a><a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a><a class="tag" taget="_blank" href="/search/%E9%94%81/1.htm">锁</a><a class="tag" taget="_blank" href="/search/ReadLock/1.htm">ReadLock</a><a class="tag" taget="_blank" href="/search/WriteLock/1.htm">WriteLock</a> <div>Ehcache对并发的支持          在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同</div> </li> <li><a href="/article/3146.htm" title="mysql中blob,text字段的合成索引" target="_blank">mysql中blob,text字段的合成索引</a> <span class="text-muted">jackyrong</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>  在mysql中,原来有一个叫合成索引的,可以提高blob,text字段的效率性能, 但只能用在精确查询,核心是增加一个列,然后可以用md5进行散列,用散列值查找 则速度快 比如: create table abc(id varchar(10),context blog,hash_value varchar(40)); insert into abc(1,rep</div> </li> <li><a href="/article/3273.htm" title="逻辑运算与移位运算" target="_blank">逻辑运算与移位运算</a> <span class="text-muted">latty</span> <a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97/1.htm">逻辑运算</a> <div>源码:正数的补码与原码相同例+7 源码:00000111 补码 :00000111 (用8位二进制表示一个数) 负数的补码: 符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。   -7 源码: 10000111 ,其绝对值为00000111  取反加一:11111001 为-7补码 已知一个数的补码,求原码的操作分两种情况:</div> </li> <li><a href="/article/3400.htm" title="利用XSD 验证XML文件" target="_blank">利用XSD 验证XML文件</a> <span class="text-muted">newerdragon</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/xsd/1.htm">xsd</a> <div>XSD文件 (XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 具体使用方法和定义请参看: http://www.w3school.com.cn/schema/index.asp java自jdk1.5以上新增了SchemaFactory类 可以实现对XSD验证的支持,使用起来也很方便。 以下代码可用在J</div> </li> <li><a href="/article/3527.htm" title="搭建 CentOS 6 服务器(12) - Samba" target="_blank">搭建 CentOS 6 服务器(12) - Samba</a> <span class="text-muted">rensanning</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>(1)安装 # yum -y install samba Installed: samba.i686 0:3.6.9-169.el6_5 # pdbedit -a rensn new password:123456 retype new password:123456 …… (2)Home文件夹 # mkdir /etc</div> </li> <li><a href="/article/3654.htm" title="Learn Nodejs 01" target="_blank">Learn Nodejs 01</a> <span class="text-muted">toknowme</span> <a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a> <div>(1)下载nodejs https://nodejs.org/download/ 选择相应的版本进行下载     (2)安装nodejs 安装的方式比较多,请baidu下 我这边下载的是“node-v0.12.7-linux-x64.tar.gz”这个版本 (1)上传服务器 (2)解压 tar -zxvf  node-v0.12.</div> </li> <li><a href="/article/3781.htm" title="jquery控制自动刷新的代码举例" target="_blank">jquery控制自动刷新的代码举例</a> <span class="text-muted">xp9802</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a> <div>1、html内容部分  复制代码代码示例: <div id='log_reload'> <select name="id_s" size="1"> <option value='2'>-2s-</option> <option value='3'>-3s-</option</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>