Web基础与HTTP协议

目录

HTML基本标签

(1)HTML语法规则

(2)HTML文件结构

HTML文件结构如下

头标签中常用标签

内容标签中常用标签

HTTP协议概述

HTTP方法

GET和POST比较

GET方法:

POST方法:

HTTP状态码

生产环境常见的HTTP状态码

HTTP请求流程分析

请求报文

响应报文


HTML叫做超文本标记,是一种规范,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。

HTML文件可以使用任何能够你生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为“.html”或“.htm”即可。

HTML基本标签

(1)HTML语法规则

HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由“”表示,结尾标记符多了一个“/”,由“”表示。

(2)HTML文件结构

HTML文件最外层由表示,说明该文件是用HTML语言描述的。在它里面是并列的

头标签()和内容标签(),最基本的

HTML文件结构如下



         网页的内容描述信息

         网页显示的内容

头标签中常用标签

标签 描述
</td> <td style="text-align:center;width:520px;">定义了文档的标题</td> </tr> <tr> <td colspan="2" style="text-align:center;width:128px;"><base></td> <td style="text-align:center;width:520px;">定义了页面链接标签的默认链接地址</td> </tr> <tr> <td colspan="2" style="text-align:center;width:128px;"><link></td> <td style="text-align:center;width:520px;">定义了一个文档和外部资源之间的关系</td> </tr> <tr> <td colspan="2" rowspan="1" style="text-align:center;width:128px;"><meta></td> <td style="text-align:center;width:520px;">定义了HTML文档中元数据</td> </tr> <tr> <td colspan="2" style="text-align:center;width:128px;"><script></td> <td style="text-align:center;width:520px;">定义了客户端的脚本文件</td> </tr> <tr> <td colspan="2" style="text-align:center;width:128px;"><script></td> <td style="text-align:center;width:520px;">定义了HTML文档的样式文件</td> </tr> </tbody> </table> <h2 id="%E5%86%85%E5%AE%B9%E6%A0%87%E7%AD%BE%E4%B8%AD%E5%B8%B8%E7%94%A8%E6%A0%87%E7%AD%BE">内容标签中常用标签</h2> <table border="1" style="width:650px;"> <tbody> <tr> <td style="text-align:center;">标签</td> <td style="text-align:center;">描述</td> </tr> <tr> <td style="text-align:center;"><table></td> <td style="text-align:center;">定义了一个表格</td> </tr> <tr> <td style="text-align:center;"><tr></td> <td style="text-align:center;">定义了页面链接标签的默认链接地址</td> </tr> <tr> <td style="text-align:center;"><td></td> <td style="text-align:center;">定义了一个文档和外部资源之间的关系</td> </tr> <tr> <td style="text-align:center;"><img></td> <td style="text-align:center;">定义了一个图像</td> </tr> <tr> <td style="text-align:center;"><a></td> <td style="text-align:center;">定义了一个超链接</td> </tr> <tr> <td style="text-align:center;"><p></td> <td style="text-align:center;">定义了一行</td> </tr> <tr> <td style="text-align:center;"><br></td> <td style="text-align:center;">定义了换行</td> </tr> <tr> <td style="text-align:center;"><font></td> <td style="text-align:center;">定义了字体</td> </tr> <tr> <td style="text-align:center;"><h1></td> <td style="text-align:center;">定义了字体大小</td> </tr> </tbody> </table> <h2 id="HTTP%E5%8D%8F%E8%AE%AE%E6%A6%82%E8%BF%B0">HTTP协议概述</h2> <p>HTTP协议采用了请求/响应模型,客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括信息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。</p> <p>HTTP已经演化出了很多版本,他们中的大部分都是向下兼容的。</p> <p>(1)HTTP/0.9:已过时。只接受GET一种请求方式,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST方法,所以客户端无法向服务端传递太多信息。</p> <p>(2)HTTP/1.0:这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。</p> <p>(3)HTTP/1.1:引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。</p> <p>(4)HTTP/2.0:完全多线路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务端未经请求,主动向客户端发送资源。</p> <h2 id="HTTP%E6%96%B9%E6%B3%95">HTTP方法</h2> <p>HTTP支持几种不同的请求命令,这些命令被成为称为HTTP方法(HTTP method)。每条HTTP请求报文都包含一个方法。</p> <p>告诉服务器要执行什么动作,包括服务端推送,允许服务器未经请求,主动向客户端发送资源。</p> <table border="1" style="width:650px;"> <tbody> <tr> <td style="text-align:center;">HTTP方法</td> <td style="text-align:center;">描述</td> </tr> <tr> <td style="text-align:center;">GET</td> <td style="text-align:center;">对服务器资源获取的简单请求</td> </tr> <tr> <td style="text-align:center;">PUT</td> <td> <p style="text-align:center;">向服务器提交数据,以修改数据</p> </td> </tr> <tr> <td style="text-align:center;">DELETE</td> <td style="text-align:center;">删除服务器上的某些资源</td> </tr> <tr> <td style="text-align:center;">POST</td> <td style="text-align:center;">用于发送包含用户提交数据的请求</td> </tr> <tr> <td style="text-align:center;">HEAD</td> <td style="text-align:center;">请求页面的首部,获得资源的元信息</td> </tr> </tbody> </table> <p>1、GET请求会向数据库发索取数据请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增添数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。</p> <p>2、与GET不同的是,PUT请求是向服务器端发送数据,从而改变信息,该请求就像数据库的updata操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。</p> <p>3.POST请求同PUT请求类似,都是向服务端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创新的内容,几乎目前所有的提交操作都是用POST请求。</p> <p>4、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作</p> <h2 id="GET%E5%92%8CPOST%E6%AF%94%E8%BE%83">GET和POST比较</h2> <h3 id="GET%E6%96%B9%E6%B3%95%EF%BC%9A">GET方法:</h3> <p>从指定的服务器上获得数据</p> <p>GET请求能被缓存</p> <p>GET请求会保存在浏览器的浏览器记录里</p> <p>GET请求有长度的限制</p> <p>主要用于获得数据</p> <p>查询的字符串会显示在URL后缀中,不安全,比如http://www.test.com/a.php?Id=123</p> <h3 id="POST%E6%96%B9%E6%B3%95%EF%BC%9A">POST方法:</h3> <p>提交数据给指定服务器处理</p> <p>POST请求不能被缓存</p> <p>POST请求不会保存在浏览器的浏览记录里</p> <p>POST请求没有长度限制</p> <p>查询的字符串不会显示在URL中,比较安全</p> <h2 id="HTTP%E7%8A%B6%E6%80%81%E7%A0%81">HTTP状态码</h2> <p>当使用浏览器访问某一个URL,会根据处理情况返回相应的处理状态</p> <p>通常正常的状态码为2xx、3xx  (如200)</p> <p>如果出现异常会返回4xx、5xx(如404)</p> <table border="1" style="width:500px;"> <tbody> <tr> <td style="text-align:center;">状态码首位</td> <td style="text-align:center;">已定义范围</td> <td style="text-align:center;">分类</td> </tr> <tr> <td style="text-align:center;">1xx  </td> <td style="text-align:center;">100-101</td> <td style="text-align:center;">信息提示</td> </tr> <tr> <td style="text-align:center;">2xx</td> <td style="text-align:center;">200-206 </td> <td style="text-align:center;">成功</td> </tr> <tr> <td style="text-align:center;">3xx</td> <td style="text-align:center;">300-305</td> <td style="text-align:center;">重定向</td> </tr> <tr> <td style="text-align:center;">4xx</td> <td style="text-align:center;">400-415</td> <td style="text-align:center;">客户端错误</td> </tr> <tr> <td style="text-align:center;">5xx</td> <td style="text-align:center;">500-505</td> <td style="text-align:center;">服务器错误</td> </tr> </tbody> </table> <h2 id="%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%B8%B8%E8%A7%81%E7%9A%84HTTP%E7%8A%B6%E6%80%81%E7%A0%81">生产环境常见的HTTP状态码</h2> <table> <thead> <tr> <th style="text-align:center;">常用状态码</th> <th style="text-align:center;">解释</th> </tr> </thead> <tbody> <tr> <td>301</td> <td>永久重定向</td> </tr> <tr> <td>302</td> <td>临时重定向</td> </tr> <tr> <td>400 Bad Request</td> <td>请求错误,客户端发送的请求有语法错误</td> </tr> <tr> <td>401 Unauthorized</td> <td>已定义范围未授权,账号密码验证有误</td> </tr> <tr> <td>1XX403 Forbidden</td> <td>100-101禁止访问,客户端IP/主机名被拉黑</td> </tr> <tr> <td>2XX404 Not Found</td> <td>200-206资源不存在,请求的URL错误,服务器相对应的路径没有该网页文件</td> </tr> <tr> <td>3XX500 Internal Server Error</td> <td>300-305服务器内部错误,服务端里的应用程序有问题</td> </tr> <tr> <td>4XX502 Bad Gateway</td> <td>400-415错误网关,代理服务器接收到了来自上游服务器的无效响应</td> </tr> <tr> <td>5XX503 Service Unavailable</td> <td>500-505服务不可用,服务器过载或正在维护</td> </tr> <tr> <td>504 Gateway Timeout</td> <td>网关超时,代理服务器无法在规定的时间内收到来自上游服务器的响应</td> </tr> <tr> <td>508 Loop Detected</td> <td>检测到循环,服务器端程序存在死循环</td> </tr> </tbody> </table> <h2 id="HTTP%E8%AF%B7%E6%B1%82%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90">HTTP请求流程分析</h2> <p>用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。</p> <h3 id="%E8%AF%B7%E6%B1%82%E6%8A%A5%E6%96%87">请求报文</h3> <p>请求行:请求行由请求方法、URL以及协议版本三部分组成。</p> <p>请求头:请求头为请求报文添加了一些附加信息,由“名/值"对组成,每行一对,名和值之间使用冒号分隔。</p> <p>空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。</p> <p>请求体:请求体是请求提交的参数,GET方法已经在URL中指明了参数,所以提交时没有数据。POST方法提交的参数在请求体中。</p> <table> <thead> <tr> <th>请求头</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>Host</td> <td>接受请求的服务器地址,可以是IP:端口号,也可以是域名</td> </tr> <tr> <td>User- Agent</td> <td>发送请求的应用程序名称</td> </tr> <tr> <td>Connection</td> <td>指定与连接相关的属性,如Connect ion:Keep-Alive</td> </tr> <tr> <td>Accept - Charset</td> <td>通知服务端可以发送的编码格式</td> </tr> <tr> <td>Accept - Encoding</td> <td>通知服务端可以发送的数据压缩格式</td> </tr> <tr> <td>Accept - Language</td> <td>通知服务端可以发送的语言</td> </tr> </tbody> </table> <h3 id="%E5%93%8D%E5%BA%94%E6%8A%A5%E6%96%87">响应报文</h3> <p>状态行:状态行由协议版本,状态码,状态码描述三部分组成。</p> <p>响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。</p> <p>空行:响应头部的最后会有一个空行,表示响应头部结束。</p> <p>响应体:服务器返回的相应HTML数据,浏览器对其解析后显示页面。</p> <table> <thead> <tr> <th>响应头</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>Server</td> <td>服务器应用程序软件的名称和版本</td> </tr> <tr> <td>Content -Type</td> <td>响应正文的类型( 是图片还是二进制字符串)</td> </tr> <tr> <td>Content -Lenqth</td> <td>响应正文长度</td> </tr> <tr> <td>Content -Charset</td> <td>响应正文使用的编码</td> </tr> <tr> <td>Content -Encoding</td> <td>响应正文使用的数据压缩格式</td> </tr> <tr> <td>Content - Language</td> <td>响应正文使用的语言</td> </tr> </tbody> </table> <p></p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1666335255331692544"></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/1891090884112478208.htm" title="Java 实现拖拽列表更新排序" target="_blank">Java 实现拖拽列表更新排序</a> <span class="text-muted">架构师成长进阶空间</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>拖拽列表更新排序,接口提供给前端这个功能主要是需要的算法逻辑很多图解:如在前端页面上想把id=5拖拽到id=3上拖拽之后的效果:解析图例:代码示例:DevToCoding|Java面试指南、学习笔记/***拖拽数据更新排序*@paramcurrentId当前数据id*@paramtargetId目标数据id*@return*/@RequestMapping("/sort/{currentId}/{</div> </li> <li><a href="/article/1891083574577262592.htm" title="Flux架构及Redux实践" target="_blank">Flux架构及Redux实践</a> <span class="text-muted">GbkMobile</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>随着前端应用的复杂性不断增加,有效管理应用状态和数据流变得至关重要。Flux架构及其最流行的实现之一Redux,为前端开发人员提供了一种可靠且可扩展的解决方案。本文将深入浅出地介绍Flux架构的核心概念,并通过实际的Redux实践示例来帮助读者更好地理解和应用这些概念。什么是Flux架构?Flux是一种前端应用架构模式,旨在解决传统MVC(Model-View-Controller)模式在大型应用</div> </li> <li><a href="/article/1891079794955710464.htm" title="解决Deepseek服务器繁忙的两种高效方案:本地部署与平替平台实测" target="_blank">解决Deepseek服务器繁忙的两种高效方案:本地部署与平替平台实测</a> <span class="text-muted">小真—</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</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>近期爆火的Deepseek访问量激增频繁出现服务器繁忙提示,严重影响工作效率。本人实测了两种有效解决方案,整理了出这份保姆级指南。方案一:本地化部署核心优势说白了就是模型部署在自己本地,只有自己一个人用了没人挤了,但是对电脑硬件要求高部署步骤详解环境准备系统要求:Linux/Windows10+(推荐Ubuntu20.04)硬件配置:NVIDIA显卡(显存≥8GB)、内存≥16GB安装依赖:Pyt</div> </li> <li><a href="/article/1891079542831902720.htm" title="当 Deepseek 频繁提示 “服务器繁忙“,我们该如何破局?" target="_blank">当 Deepseek 频繁提示 “服务器繁忙“,我们该如何破局?</a> <span class="text-muted">晚风る</span> <a class="tag" taget="_blank" href="/search/AI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">AI人工智能</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>在使用Deepseek的过程中,不少用户都遭遇过“服务器繁忙”的提示,这无疑给我们的使用体验带来了极大的困扰。那么,当这种情况频繁出现时,我们究竟该如何应对呢?本文将为大家提供一些有效的解决方案。一、原因分析DeepSeek服务器繁忙的原因可能有以下几点:用户流量过大:如用户量激增,高峰时段访问。技术性能瓶颈:如算力瓶颈、带宽限制、模型优化不足。安全问题:如外部恶意攻击。服务维护与限制:如服务维护</div> </li> <li><a href="/article/1891078912692252672.htm" title="Flux架构:构建可预测的Web应用状态管理体系" target="_blank">Flux架构:构建可预测的Web应用状态管理体系</a> <span class="text-muted">阿珊和她的猫</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>前端开发工程师、技术日更博主、已过CET6阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1牛客高级专题作者、打造专栏《前端面试必备》、《2024面试高频手撕题》蓝桥云课签约作者、上架课程《Vue.js和Egg.js开发企业级健康管理项目》、《带你从入门到实战全面掌握uni-app》前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。文章</div> </li> <li><a href="/article/1891069455673389056.htm" title="利用Python进行数据清洗与预处理:Pandas的高级用法" target="_blank">利用Python进行数据清洗与预处理:Pandas的高级用法</a> <span class="text-muted">步入烟尘</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>本文已收录于《Python超入门指南全册》本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从基础到精通不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/mrdeam/category_12647587.html优点:订阅限时19.9付费专栏,私信博主还可进入全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以</div> </li> <li><a href="/article/1891067942339145728.htm" title="Linux 磁盘扩容:常见问题及解决方案详解(附操作步骤与代码)" target="_blank">Linux 磁盘扩容:常见问题及解决方案详解(附操作步骤与代码)</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/5G/1.htm">5G</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>前言在Linux运维过程中,磁盘空间不足是常见的运维问题之一,特别是在服务器长时间运行后,磁盘的分区可能无法满足新的业务需求。因此,合理地扩容磁盘显得尤为重要。本文将针对Linux系统中的磁盘扩容问题,提供一套完整的、详细的操作步骤,并附带相关代码,帮助您轻松应对这一运维难题。常见问题描述1.磁盘空间不足导致服务中断系统运行一段时间后,磁盘空间被消耗殆尽,导致无法再写入数据,从而影响服务的正常运行</div> </li> <li><a href="/article/1891064917126082560.htm" title="Mac配置环境变量时终端显示bash-3.2解决方案" target="_blank">Mac配置环境变量时终端显示bash-3.2解决方案</a> <span class="text-muted">dearbaba_11</span> <a class="tag" taget="_blank" href="/search/%5CN/1.htm">\N</a> <div>Mac配置环境变量时终端显示bash-3.2解决方案参考文章:(1)Mac配置环境变量时终端显示bash-3.2解决方案(2)https://www.cnblogs.com/jasmine0112/p/12285114.html备忘一下。</div> </li> <li><a href="/article/1891056850414137344.htm" title="详解Cookie和Session" target="_blank">详解Cookie和Session</a> <span class="text-muted">小猪同学hy</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/1.htm">计算机网络</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/cookie/1.htm">cookie</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a> <div>目录前言Cookie什么是Cookie?Cookie工作原理Cookie的功能Session什么是Session?Session的工作原理Session的功能示例Cookie和Session的区别前言我们在前面的学习HTTP协议中,HTTP协议自身是属于“无状态”协议,无状态指的是默认情况下HTTP协议的客户端和服务器之间的这次通信,和下次通信之间没有直接的联系。但在实际开发中,我们很多时候是需要</div> </li> <li><a href="/article/1891054457932804096.htm" title="[失业前端恶补算法]JavaScript leetcode刷题top100(六):字母异位词分组、最长连续序列、找到字符串中所有字母异位词、最大子数组和、除自身以外数组的乘积" target="_blank">[失业前端恶补算法]JavaScript leetcode刷题top100(六):字母异位词分组、最长连续序列、找到字符串中所有字母异位词、最大子数组和、除自身以外数组的乘积</a> <span class="text-muted">摸鱼老萌新</span> <a class="tag" taget="_blank" href="/search/%E5%A4%B1%E4%B8%9A%E5%89%8D%E7%AB%AF%E6%81%B6%E8%A1%A5%E7%AE%97%E6%B3%95/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/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/1.htm">动态规划</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%93%88%E5%B8%8C/1.htm">哈希</a> <div>专栏声明:只求用最简单的,容易理解的方法通过,不求优化,不喜勿喷49.字母异位词分组题面给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。知识点:哈希表、排序思路这里用了js语言的一个小技巧,我们可以使用split这个api将字符串变成字符的数组,之后我们对得到的数组进行排序,这样字母异位词得到了结果字符串的一致的,</div> </li> <li><a href="/article/1891053702341521408.htm" title="Java面试八股文:Memcached面试题专场(持续更新中......)" target="_blank">Java面试八股文:Memcached面试题专场(持续更新中......)</a> <span class="text-muted">Java凤梨</span> <a class="tag" taget="_blank" href="/search/Java%E9%87%91%E4%B8%89%E9%93%B6%E5%9B%9B%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">Java金三银四面试题</a><a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>全套Java金三银四面试题持续更新可文末自取,建议关注收藏不然下次找不到哟~目录1、Memcached是什么,有什么作用?memcached服务在企业集群架构中有哪些应用场景?一、作为数据库的前端缓存应用二、作业集群的session会话共享存储。2、Memcached服务分布式集群如何实现?3、Memcached服务特点及工作原理是什么?4、简述Memcached内存管理机制原理?SlabAllo</div> </li> <li><a href="/article/1891053069785952256.htm" title="高可用(HA)架构" target="_blank">高可用(HA)架构</a> <span class="text-muted">weixin_34344403</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>http://aokunsang.iteye.com/blog/2053719浅谈web应用的负载均衡、集群、高可用(HA)解决方案http://zhuanlan.51cto.com/art/201612/524201.htm互联网架构“高可用”http://www.blogjava.net/ivanwan/archive/2013/12/25/408014.htmlLVS/Nginx/HAPro</div> </li> <li><a href="/article/1891048274958282752.htm" title="WEB漏洞-XXE&XML之利用检测绕过" target="_blank">WEB漏洞-XXE&XML之利用检测绕过</a> <span class="text-muted">网小白白</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/web/1.htm">web</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a> <div>XXE"xmlexternalentityinjection"-XML外部实体注入漏洞服务端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入xml基本语法XML被设计用来结构化、存储以及传输信息;恰恰相反,HTML是被设计用来显示数据,其焦点是数据的外观。XML没有预定义的标签。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理XML。XML不会做任何事情</div> </li> <li><a href="/article/1891046889193795584.htm" title="计算机编程中的抽象语法树(AST)在代码分析和转换中的应用与优化" target="_blank">计算机编程中的抽象语法树(AST)在代码分析和转换中的应用与优化</a> <span class="text-muted">借口</span> <a class="tag" taget="_blank" href="/search/%E7%83%AD%E7%82%B9%E8%B5%84%E8%AE%AF/1.htm">热点资讯</a> <div>博客主页:借口的CSDN主页⏩文章专栏:《热点资讯》计算机编程中的抽象语法树(AST)在代码分析和转换中的应用与优化计算机编程中的抽象语法树(AST)在代码分析和转换中的应用与优化计算机编程中的抽象语法树(AST)在代码分析和转换中的应用与优化引言抽象语法树概述定义历史背景核心特性简化复杂度提供统一接口支持多种操作应用场景编译器前端静态代码分析自动化测试框架源码美化工具成功案例分析ESLintRo</div> </li> <li><a href="/article/1891045123052072960.htm" title="Git commit type 规范" target="_blank">Git commit type 规范</a> <span class="text-muted">老衲呢</span> <a class="tag" taget="_blank" href="/search/Git/1.htm">Git</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>gitcommit提交规范提交规范:gitcommit-m“feat(新增暂停功能):新增执行推广任务暂停功能”详情请参考:阮雪峰的Commitmessage规范(点击可转跳)(https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html)#主要typefeat:增加新功能fix:修复bug#特殊typedocs:只改</div> </li> <li><a href="/article/1891033021033803776.htm" title="go hive skynet_MMORPG游戏服务器技术选型参考-Go语言中文社区" target="_blank">go hive skynet_MMORPG游戏服务器技术选型参考-Go语言中文社区</a> <span class="text-muted">weixin_39908948</span> <a class="tag" taget="_blank" href="/search/go/1.htm">go</a><a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/skynet/1.htm">skynet</a> <div>游戏服务器一般追求稳定和效率,所以偏向于保守,使用的技术手段也是以已经过验证、开发人员最熟悉、能HOLD为主要前提。1、典型按场景分服设计开发语言:c++数据库:mysql架构:多个网关:维持与玩家间的SOCKET连接,可处理广播、断线重连等逻辑。一个或多个账号登陆验证服务器:处理登陆、排队等逻辑。多个场景服务器:处理在本地图上能解决的逻辑,如:打怪、玩家间战斗、接任务、完成任务等各种不需要跨地图</div> </li> <li><a href="/article/1891032135620423680.htm" title="java获取服务器状态_获取远程服务器上 Java 进程的运行状态" target="_blank">java获取服务器状态_获取远程服务器上 Java 进程的运行状态</a> <span class="text-muted">夏种子</span> <a class="tag" taget="_blank" href="/search/java%E8%8E%B7%E5%8F%96%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8A%B6%E6%80%81/1.htm">java获取服务器状态</a> <div>为了安全考虑,有些服务器会被限制登录.本文介绍如何获取远程服务器上Java进程的运行状态.启动jstatd服务在服务器端启动jstatd服务后,远程的机器可以通过rmi协议获取服务器上Java程序的运行状态.在服务器上创建jstatd的授权文件,假设文件路径为/etc/jstatd.all.policy,内容如下:grantcodebase"file:/usr/local/java/lib/too</div> </li> <li><a href="/article/1891030496700329984.htm" title="Java 程序GC机制及性能稳定性调优分析" target="_blank">Java 程序GC机制及性能稳定性调优分析</a> <span class="text-muted">shines_m</span> <a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/1.htm">性能测试</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</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/%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95/1.htm">压力测试</a> <div>一、JVM资源监控工具1.jvisualVM工具VisualVM提供了一个可视界面,能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC的对象;在JDK_HOME/bin目录下,双击jvisualvm.exe文件即可打开运行。打开后默认会监控本地运行的java程序,运行的界面如下:2.连接远程服务器,需要在被监控JVM服务器上启动jstatd服务JVMjstatDaemon:守护进</div> </li> <li><a href="/article/1891030243620220928.htm" title="网游服务端分层架构" target="_blank">网游服务端分层架构</a> <span class="text-muted">酒与花生米</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>在网络游戏服务端的分层架构中,每一层都负责不同的任务和功能。下面是每一层及其常见模块的详细说明,1.客户端层(ClientLayer)模块:玩家界面:显示游戏界面、信息。输入处理:玩家的输入(如控制角色、点击按钮)处理。数据展示:展示从服务器获取的数据,如游戏状态、人物信息。与其他层的交互:向网络层发送请求,获取游戏数据。接收服务器返回的游戏状态,并在客户端进行展示。2.网络层(NetworkLa</div> </li> <li><a href="/article/1891028858396798976.htm" title="前端实现电子签名" target="_blank">前端实现电子签名</a> <span class="text-muted">一个00后前端开发</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>                  Document          *{        margin:0;        padding:0;      }                      取消      保存            constcanvas=document.querySelector('canvas');    canvas.width=500;    canvas</div> </li> <li><a href="/article/1891028858807840768.htm" title="[Soulmask] 教你使用灵魂面甲服务器设置管理员教程[Soulmask]" target="_blank">[Soulmask] 教你使用灵魂面甲服务器设置管理员教程[Soulmask]</a> <span class="text-muted">莱卡云(Lcayun)</span> <a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</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/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a> <div>使用莱卡云服务器先连接游戏连接游戏后按键盘左上角ESC下方的波浪键(~)使用控制台管理员密码在服务器启动项可自行修改(修改后需要重启服务器才可生效)输入gm+空格+key+空格+管理员密码示例:gmkey123456回车就会出现以下图中所示再次输入管理员密码,然后点击成为管理员管理员命令可直接在控制台中输入使用命令名命令行备注打开GM面板gmkey[password]只对服主生效修改管理员密码gm</div> </li> <li><a href="/article/1891024191801585664.htm" title="pptx文档提取信息" target="_blank">pptx文档提取信息</a> <span class="text-muted">DreamBoy_W.W.Y</span> <a class="tag" taget="_blank" href="/search/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1/1.htm">知识图谱</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>目录一、前言二、python-pptx提取核心代码三、LibreOffice转换pdf再提取的核心代码一、前言pptx文档提取解析常用的库。如果只需要解析.pptx的文本、表格、图片,推荐使用python-pptx(开源,轻量级)。如果需要高性能、支持.ppt、动画、格式转换,推荐Aspose.Slides(收费)。如果需要PPTX转PDF或者HTML,适用于Linux服务器,推荐LibreOff</div> </li> <li><a href="/article/1891021921319972864.htm" title="深入理解现代前端框架:Vue.js 的进阶探秘" target="_blank">深入理解现代前端框架:Vue.js 的进阶探秘</a> <span class="text-muted">lozhyf</span> <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><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a> <div>在当今的web开发领域,前端框架如雨后春笋般涌现,而Vue.js凭借其简洁易用和强大的功能,成为了众多开发者的心头好。本文将带领大家深入探索Vue.js的一些进阶特性,帮助你将Vue应用开发提升到新的高度。一、Vue.js的响应式原理Vue.js最核心的特性之一就是其响应式系统。当数据发生变化时,Vue能够自动更新DOM,这一过程是如何实现的呢?Vue.js使用了Object.defineProp</div> </li> <li><a href="/article/1891021793167208448.htm" title="软件工程-软件测试" target="_blank">软件工程-软件测试</a> <span class="text-muted">Wlq0415</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/1.htm">软件工程</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/1.htm">软件工程</a> <div>目录测试的目的测试原则测试过程传统软件的测试策略单元测试的测试内容(考点)集成测试确认测试准则/有效性测试测试方法黑盒测试等价类划分边界值分析错误推测因果图判定表白盒测试WEB服务器测试测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。测试原则应尽早、不断地进行测试。测试工作应该避免由原开发软件的人或小组承担在设计测试方案时,不仅要确定输入数据,而且要根据系统功能确定预期输出结果。在</div> </li> <li><a href="/article/1891018390059937792.htm" title="mysql表误删回复_恢复mysql数据库误删数据" target="_blank">mysql表误删回复_恢复mysql数据库误删数据</a> <span class="text-muted">weixin_39655689</span> <a class="tag" taget="_blank" href="/search/mysql%E8%A1%A8%E8%AF%AF%E5%88%A0%E5%9B%9E%E5%A4%8D/1.htm">mysql表误删回复</a> <div>前言某一天,天朗气清;突然传来消息:数据库被删库了!这简直不亚于8级大地震呀;一找原因,服务器宕机造成了数据库数据丢失。于是,通过日志恢复数据的救援开始了。正文在数据库开启binlog功能找到/etc/my.cnf并编辑(没有my.cnf的时候就找my.ini);添加log-bin=mysql-binexpire_logs_days=7(日志保留天数)然后重启mysql注意:log_bin是生成的</div> </li> <li><a href="/article/1891014354728448000.htm" title="深入思考:技术生态的繁荣与开发者的选择" target="_blank">深入思考:技术生态的繁荣与开发者的选择</a> <span class="text-muted">艾米栗写代码</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>作为一名前端开发者,我们是一直被两类问题困惑着的:1、技术生态中“轮子迭代”与“原理理解”的矛盾,2、业务开发与技术深度的平衡问题。这些问题本质上是开发者在不同阶段必然面临的挑战。我们可以从以下几个角度进一步探讨:一、为什么“轮子”永远在迭代?1.技术演进的必然性场景细化:早期工具(如Grunt、Gulp)解决的是通用构建问题,但随着前端复杂度提升,出现了更垂直的解决方案(如Vite专攻开发体验、</div> </li> <li><a href="/article/1891014227565539328.htm" title="对前端的技术进行分层" target="_blank">对前端的技术进行分层</a> <span class="text-muted">艾米栗写代码</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>前端相比较后端而言,由于其发展历史和浏览器的标准不一,导致其看上去简单,但是深入起来又很复杂,在最开始学习的时候,我们往往是了解一下三剑客和vue、react的api就开始上手工作了,但是到后面会发现,每一步就像缺了一根拐杖,而这根拐杖指的就是对前端整个层面的了解。只有我们建立了对整个层面的了解,才能到我们遇到的问题进行分类,才能在遇到困难的时候,能够分门别类的去解决问题。前端技术的分层可以类比为</div> </li> <li><a href="/article/1891013849130266624.htm" title="Python - WSGI 和 ASGI 服务器" target="_blank">Python - WSGI 和 ASGI 服务器</a> <span class="text-muted">小菠萝测试笔记</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E5%85%B3/1.htm">网关</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a> <div>WSGIwiki上的解释WebServerGatewayInterfaceWeb服务器网关接口是为Python定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口WSGI的问题随着移动网络的发展,Web技术也在升级,比如WebSocket、HTTP/2,HTTP/3WSGI应用是一个单调用、同步接口,即输入一个请求,返回一个响应;这个模式无法支持长连接或者WebSocket这样的连接</div> </li> <li><a href="/article/1891013470736936960.htm" title="Linux安装Anaconda、Miniconda" target="_blank">Linux安装Anaconda、Miniconda</a> <span class="text-muted">让我安静会</span> <a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E4%B8%8E%E5%AE%89%E8%A3%85/1.htm">配置与安装</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>Anaconda下载:https://repo.anaconda.com/archive/MinicondaDocument:https://docs.conda.io/projects/miniconda/en/latest/index.html进入Linux系统,到/data/file/文件夹下,直接将anaconda下载到该文件夹中:wgethttps://repo.anaconda.com</div> </li> <li><a href="/article/1891002003375583232.htm" title="vue3 ref/reactive 修改数组的方法" target="_blank">vue3 ref/reactive 修改数组的方法</a> <span class="text-muted">取啥好</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><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>import{ref}from'vue'//给每个todo对象一个唯一的idletid=0constnewTodo=ref('')consttodos=ref([{id:id++,text:'LearnHTML'},{id:id++,text:'LearnJavaScript'},{id:id++,text:'LearnVue'}])functionaddTodo(){todos.value.pu</div> </li> <li><a href="/article/7.htm" title="LeetCode[位运算] - #137 Single Number II" target="_blank">LeetCode[位运算] - #137 Single Number II</a> <span class="text-muted">Cwind</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a> <div>原题链接:#137 Single Number II  要求: 给定一个整型数组,其中除了一个元素之外,每个元素都出现三次。找出这个元素 注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间   难度:中等   分析: 与#136类似,都是考察位运算。不过出现两次的可以使用异或运算的特性 n XOR n = 0, n XOR 0 = n,即某一</div> </li> <li><a href="/article/134.htm" title="《JavaScript语言精粹》笔记" target="_blank">《JavaScript语言精粹》笔记</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>0、JavaScript的简单数据类型包括数字、字符创、布尔值(true/false)、null和undefined值,其它值都是对象。 1、JavaScript只有一个数字类型,它在内部被表示为64位的浮点数。没有分离出整数,所以1和1.0的值相同。 2、NaN是一个数值,表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它本身。可以用函数isNaN(number)检测NaN,但是</div> </li> <li><a href="/article/261.htm" title="你应该更新的Java知识之常用程序库" target="_blank">你应该更新的Java知识之常用程序库</a> <span class="text-muted">Kai_Ge</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>在很多人眼中,Java 已经是一门垂垂老矣的语言,但并不妨碍 Java 世界依然在前进。如果你曾离开 Java,云游于其它世界,或是每日只在遗留代码中挣扎,或许是时候抬起头,看看老 Java 中的新东西。 Guava Guava[gwɑ:və],一句话,只要你做Java项目,就应该用Guava(Github)。 guava 是 Google 出品的一套 Java 核心库,在我看来,它甚至应该</div> </li> <li><a href="/article/388.htm" title="HttpClient" target="_blank">HttpClient</a> <span class="text-muted">120153216</span> <a class="tag" taget="_blank" href="/search/httpclient/1.htm">httpclient</a> <div>/** * 可以传对象的请求转发,对象已流形式放入HTTP中 */ public static Object doPost(Map<String,Object> parmMap,String url) { Object object = null; HttpClient hc = new HttpClient(); String fullURL </div> </li> <li><a href="/article/515.htm" title="Django model字段类型清单" target="_blank">Django model字段类型清单</a> <span class="text-muted">2002wmj</span> <a class="tag" taget="_blank" href="/search/django/1.htm">django</a> <div>Django 通过 models 实现数据库的创建、修改、删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你不指定主键的话,系统会自动添加一个主键字段到你的model。(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描述为checkbox。 Cha</div> </li> <li><a href="/article/642.htm" title="在SQLSERVER中查找消耗CPU最多的SQL" target="_blank">在SQLSERVER中查找消耗CPU最多的SQL</a> <span class="text-muted">357029540</span> <a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>返回消耗CPU数目最多的10条语句 SELECT TOP 10    total_worker_time/execution_count AS avg_cpu_cost, plan_handle,    execution_count,    (SELECT SUBSTRING(text, statement_start_of</div> </li> <li><a href="/article/769.htm" title="Myeclipse项目无法部署,Undefined exploded archive location" target="_blank">Myeclipse项目无法部署,Undefined exploded archive location</a> <span class="text-muted">7454103</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/MyEclipse/1.htm">MyEclipse</a> <div>做个备忘! 错误信息为:       Undefined exploded archive location 原因:           在工程转移过程中,导致工程的配置文件出错; 解决方法:    </div> </li> <li><a href="/article/896.htm" title="GMT时间格式转换" target="_blank">GMT时间格式转换</a> <span class="text-muted">adminjun</span> <a class="tag" taget="_blank" href="/search/GMT/1.htm">GMT</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4%E8%BD%AC%E6%8D%A2/1.htm">时间转换</a> <div>普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换GMT时间格式,这种格式的转换方法网上还不是很多,所以有必要总结一下,也算给有需要的朋友一个小小的帮助啦。 1、可以使用 SimpleDateFormat SimpleDateFormat    EEE-三位星期 d-天 MMM-月 yyyy-四位年 </div> </li> <li><a href="/article/1023.htm" title="Oracle数据库新装连接串问题" target="_blank">Oracle数据库新装连接串问题</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/oracle%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">oracle数据库</a> <div>割接新装了数据库,客户端登陆无问题,apache/cgi-bin程序有问题,sqlnet.log日志如下: Fatal NI connect error 12170.   VERSION INFORMATION:         TNS for Linux: Version 10.2.0.4.0 - Product</div> </li> <li><a href="/article/1150.htm" title="回顾java数组复制" target="_blank">回顾java数组复制</a> <span class="text-muted">ayaoxinchao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84/1.htm">数组</a> <div>在写这篇文章之前,也看了一些别人写的,基本上都是大同小异。文章是对java数组复制基础知识的回顾,算是作为学习笔记,供以后自己翻阅。首先,简单想一下这个问题:为什么要复制数组?我的个人理解:在我们在利用一个数组时,在每一次使用,我们都希望它的值是初始值。这时我们就要对数组进行复制,以达到原始数组值的安全性。java数组复制大致分为3种方式:①for循环方式 ②clone方式 ③arrayCopy方</div> </li> <li><a href="/article/1277.htm" title="java web会话监听并使用spring注入" target="_blank">java web会话监听并使用spring注入</a> <span class="text-muted">bewithme</span> <a class="tag" taget="_blank" href="/search/Java+Web/1.htm">Java Web</a> <div>        在java web应用中,当你想在建立会话或移除会话时,让系统做某些事情,比如说,统计在线用户,每当有用户登录时,或退出时,那么可以用下面这个监听器来监听。        import java.util.ArrayList; import java.ut</div> </li> <li><a href="/article/1404.htm" title="NoSQL数据库之Redis数据库管理(Redis的常用命令及高级应用)" target="_blank">NoSQL数据库之Redis数据库管理(Redis的常用命令及高级应用)</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/NoSQL/1.htm">NoSQL</a> <div>一 .Redis常用命令         Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在Linux终端使用。         a.键值相关命令         b.服务器相关命令 1.键值相关命令       &</div> </li> <li><a href="/article/1531.htm" title="java枚举序列化问题" target="_blank">java枚举序列化问题</a> <span class="text-muted">bingyingao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a><a class="tag" taget="_blank" href="/search/%E5%BA%8F%E5%88%97%E5%8C%96/1.htm">序列化</a> <div>对象在网络中传输离不开序列化和反序列化。而如果序列化的对象中有枚举值就要特别注意一些发布兼容问题: 1.加一个枚举值 新机器代码读分布式缓存中老对象,没有问题,不会抛异常。 老机器代码读分布式缓存中新对像,反序列化会中断,所以在所有机器发布完成之前要避免出现新对象,或者提前让老机器拥有新增枚举的jar。 2.删一个枚举值 新机器代码读分布式缓存中老对象,反序列</div> </li> <li><a href="/article/1658.htm" title="【Spark七十八】Spark Kyro序列化" target="_blank">【Spark七十八】Spark Kyro序列化</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a> <div>当使用SparkContext的saveAsObjectFile方法将对象序列化到文件,以及通过objectFile方法将对象从文件反序列出来的时候,Spark默认使用Java的序列化以及反序列化机制,通常情况下,这种序列化机制是很低效的,Spark支持使用Kyro作为对象的序列化和反序列化机制,序列化的速度比java更快,但是使用Kyro时要注意,Kyro目前还是有些bug。 Spark</div> </li> <li><a href="/article/1785.htm" title="Hybridizing OO and Functional Design" target="_blank">Hybridizing OO and Functional Design</a> <span class="text-muted">bookjovi</span> <a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a><a class="tag" taget="_blank" href="/search/haskell/1.htm">haskell</a> <div>  推荐博文: Tell Above, and Ask Below - Hybridizing OO and Functional Design 文章中把OO和FP讲的深入透彻,里面把smalltalk和haskell作为典型的两种编程范式代表语言,此点本人极为同意,smalltalk可以说是最能体现OO设计的面向对象语言,smalltalk的作者Alan kay也是OO的最早先驱,</div> </li> <li><a href="/article/1912.htm" title="Java-Collections Framework学习与总结-HashMap" target="_blank">Java-Collections Framework学习与总结-HashMap</a> <span class="text-muted">BrokenDreams</span> <a class="tag" taget="_blank" href="/search/Collections/1.htm">Collections</a> <div>        开发中常常会用到这样一种数据结构,根据一个关键字,找到所需的信息。这个过程有点像查字典,拿到一个key,去字典表中查找对应的value。Java1.0版本提供了这样的类java.util.Dictionary(抽象类),基本上支持字典表的操作。后来引入了Map接口,更好的描述的这种数据结构。  &nb</div> </li> <li><a href="/article/2039.htm" title="读《研磨设计模式》-代码笔记-职责链模式-Chain Of Responsibility" target="_blank">读《研磨设计模式》-代码笔记-职责链模式-Chain Of Responsibility</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /** * 业务逻辑:项目经理只能处理500以下的费用申请,部门经理是1000,总经理不设限。简单起见,只同意“Tom”的申请 * bylijinnan */ abstract class Handler { /* </div> </li> <li><a href="/article/2166.htm" title="Android中启动外部程序" target="_blank">Android中启动外部程序</a> <span class="text-muted">cherishLC</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>1、启动外部程序 引用自: http://blog.csdn.net/linxcool/article/details/7692374 //方法一 Intent intent=new Intent(); //包名 包名+类名(全路径) intent.setClassName("com.linxcool", "com.linxcool.PlaneActi</div> </li> <li><a href="/article/2293.htm" title="summary_keep_rate" target="_blank">summary_keep_rate</a> <span class="text-muted">coollyj</span> <a class="tag" taget="_blank" href="/search/SUM/1.htm">SUM</a> <div> BEGIN /*DECLARE minDate varchar(20) ; DECLARE maxDate varchar(20) ;*/ DECLARE stkDate varchar(20) ; DECLARE done int default -1; /* 游标中 注册服务器地址 */ DE</div> </li> <li><a href="/article/2420.htm" title="hadoop hdfs 添加数据目录出错" target="_blank">hadoop hdfs 添加数据目录出错</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/hdfs/1.htm">hdfs</a><a class="tag" taget="_blank" href="/search/%E6%89%A9%E5%AE%B9/1.htm">扩容</a> <div>由于原来配置的hadoop data目录快要用满了,故准备修改配置文件增加数据目录,以便扩容,但由于疏忽,把core-site.xml, hdfs-site.xml配置文件dfs.datanode.data.dir 配置项增加了配置目录,但未创建实际目录,重启datanode服务时,报如下错误: 2014-11-18 08:51:39,128 WARN org.apache.hadoop.h</div> </li> <li><a href="/article/2547.htm" title="grep 目录级联查找" target="_blank">grep 目录级联查找</a> <span class="text-muted">dongwei_6688</span> <a class="tag" taget="_blank" href="/search/grep/1.htm">grep</a> <div>       在Mac或者Linux下使用grep进行文件内容查找时,如果给定的目标搜索路径是当前目录,那么它默认只搜索当前目录下的文件,而不会搜索其下面子目录中的文件内容,如果想级联搜索下级目录,需要使用一个“-r”参数: grep -n -r "GET" .   上面的命令将会找出当前目录“.”及当前目录中所有下级目录</div> </li> <li><a href="/article/2674.htm" title="yii 修改模块使用的布局文件" target="_blank">yii 修改模块使用的布局文件</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a><a class="tag" taget="_blank" href="/search/layouts/1.htm">layouts</a> <div>方法一:yii模块默认使用系统当前的主题布局文件,如果在主配置文件中配置了主题比如: 'theme'=>'mythm', 那么yii的模块就使用 protected/themes/mythm/views/layouts 下的布局文件; 如果未配置主题,那么 yii的模块就使用  protected/views/layouts 下的布局文件, 总之默认不是使用自身目录 pr</div> </li> <li><a href="/article/2801.htm" title="设计模式之单例模式" target="_blank">设计模式之单例模式</a> <span class="text-muted">come_for_dream</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a><a class="tag" taget="_blank" href="/search/%E6%87%92%E6%B1%89%E5%BC%8F%E9%A5%BF%E6%B1%89%E5%BC%8F/1.htm">懒汉式饿汉式</a><a class="tag" taget="_blank" href="/search/%E5%8F%8C%E9%87%8D%E6%A3%80%E9%AA%8C%E9%94%81%E5%A4%B1%E8%B4%A5/1.htm">双重检验锁失败</a><a class="tag" taget="_blank" href="/search/%E6%97%A0%E5%BA%8F%E5%86%99%E5%85%A5/1.htm">无序写入</a> <div>                今天该来的面试还没来,这个店估计不会来电话了,安静下来写写博客也不错,没事翻了翻小易哥的博客甚至与大牛们之间的差距,基础知识不扎实建起来的楼再高也只能是危楼罢了,陈下心回归基础把以前学过的东西总结一下。   *********************************</div> </li> <li><a href="/article/2928.htm" title="8、数组" target="_blank">8、数组</a> <span class="text-muted">豆豆咖啡</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84/1.htm">数组</a><a class="tag" taget="_blank" href="/search/%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">一维数组</a> <div>  一、概念       数组是同一种类型数据的集合。其实数组就是一个容器。   二、好处       可以自动给数组中的元素从0开始编号,方便操作这些元素   三、格式   //一维数组 1,元素类型[] 变量名 = new 元素类型[元素的个数] int[] arr =</div> </li> <li><a href="/article/3055.htm" title="Decode Ways" target="_blank">Decode Ways</a> <span class="text-muted">hcx2013</span> <a class="tag" taget="_blank" href="/search/decode/1.htm">decode</a> <div>A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given an encoded message containing digits, det</div> </li> <li><a href="/article/3182.htm" title="Spring4.1新特性——异步调度和事件机制的异常处理" target="_blank">Spring4.1新特性——异步调度和事件机制的异常处理</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring+4.1/1.htm">spring 4.1</a> <div>目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异常处理 Spring4.1新特性——数据库集成测试脚本初始化 Spring4.1新特性——Spring MVC增强 Spring4.1新特性——页面自动化测试框架Spring MVC T</div> </li> <li><a href="/article/3309.htm" title="squid3(高命中率)缓存服务器配置" target="_blank">squid3(高命中率)缓存服务器配置</a> <span class="text-muted">liyonghui160com</span> <div>    系统:centos 5.x   需要的软件:squid-3.0.STABLE25.tar.gz 1.下载squid wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz tar zxf squid-3.0.STABLE25.tar.gz &&</div> </li> <li><a href="/article/3436.htm" title="避免Java应用中NullPointerException的技巧和最佳实践" target="_blank">避免Java应用中NullPointerException的技巧和最佳实践</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。   总是从已知的非空String对象中调用equals()方法。因为equals()方法是对称的,调用a.equals(b)和调用b.equals(a)是完全相同的,这也是为什么程序员对于对象a和b这么不上心。如果调用者是空指针,这种调用可能导致一个空指针异常 Object unk</div> </li> <li><a href="/article/3563.htm" title="如何在Swift语言中创建http请求" target="_blank">如何在Swift语言中创建http请求</a> <span class="text-muted">shoothao</span> <a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/swift/1.htm">swift</a> <div> 概述:本文通过实例从同步和异步两种方式上回答了”如何在Swift语言中创建http请求“的问题。 如果你对Objective-C比较了解的话,对于如何创建http请求你一定驾轻就熟了,而新语言Swift与其相比只有语法上的区别。但是,对才接触到这个崭新平台的初学者来说,他们仍然想知道“如何在Swift语言中创建http请求?”。 在这里,我将作出一些建议来回答上述问题。常见的</div> </li> <li><a href="/article/3690.htm" title="Spring事务的传播方式" target="_blank">Spring事务的传播方式</a> <span class="text-muted">uule</span> <a class="tag" taget="_blank" href="/search/spring%E4%BA%8B%E5%8A%A1/1.htm">spring事务</a> <div>传播方式:        新建事务       required       required_new   - 挂起当前         非事务方式运行       supports   &nbs</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>