【数据采集与集成】实验-万维网运行原理分析

实验目的

本实验的主要目的是通过对特定网站的分析,深入了解万维网的运行原理和相关技术,以及通过使用抓包工具采集HTTP协议包并进行分析,实现以下几个具体目标:

深入了解万维网的结构、原理和相关技术:通过分析特定网站,探讨万维网的构建和运行原理,包括网络拓扑结构、分布式系统、域名系统(DNS)、IP地址分配等方面的知识。

深入了解并掌握WEB页面的组成:通过分析特定网站的页面,学习了解WEB页面的基本组成部分,包括HTML、CSS、JavaScript等前端技术,以及后端技术如服务器端脚本、数据库等。

深入了解并掌握HTTP协议:通过使用抓包工具采集HTTP协议包,并对其进行详细分析,探讨HTTP协议的工作原理、请求响应过程、状态码的含义以及常见的HTTP头部字段等关键知识点,从而更好地理解网站之间的通信和数据传输过程。

本实验能够让我深刻理解万维网的运行机制和相关技术,为进一步学习和应用网络和Web开发领域的知识打下坚实的基础。同时,通过实际操作和分析,我将能够更好地理解抽象的网络概念,并具备分析和解决网络问题的能力。

实验内容

在本实验中,我们将通过对一个特定网站的深入分析,探索并理解万维网的运行原理以及与之相关的技术,尤其是HTTP协议的工作机制。具体而言,本实验将包括以下主要内容:

  1. 选择特定网站:首先,我们会选择一个特定的网站作为我们的研究对象。这个选择的网站将成为我们实验的核心,通过分析它,我们将深入了解该网站的运行方式以及所用的技术。
  2. 登录并操作网站:在选择的网站上进行登录并执行多种操作,例如浏览不同页面、进行搜索、点击链接或提交表单等。这些操作将生成多个HTTP请求,有助于我们观察网站行为和与之相关的HTTP通信。
  3. 使用浏览器开发者工具:我们将利用浏览器的开发者工具,特别是网络面板,以捕获和查看与所选网站之间的HTTP通信内容。通过这些工具,我们可以详细分析HTTP请求和响应,以便深入了解数据交换过程。
  4. 绘制网络拓扑和数据流向:基于我们观察到的网络通信情况,我们将绘制一个网络拓扑图,清晰展示各组成部分之间的连接关系。此外,我们还会标示数据流向,包括数据是如何在浏览器、协议、服务器之间流动的。
  5. 分析单个网页的组成:我们将仔细分析所选网站中的一个单独网页,包括其HTML组成要素,如页面结构、标签、CSS样式等。这将帮助我们理解前端构建。
  6. HTTP协议分析:对所选网站的HTTP协议进行深入分析,包括请求报文和应答报文的结构和内容。特别关注报文中的关键点,例如请求方法、URL、状态码、响应数据等,以深入理解网站与客户端之间的通信细节。

实验步骤

网址的选取

本次实验选择了 https://stackoverflow.com/ 作为实验的研究对象。Stack Overflow是一个知名的问答网站,广泛用于程序员和开发者社区。这个选择的网站具有丰富的内容和复杂的前后端技术,适合用于深入了解万维网的运行原理和相关技术。

在Edge浏览器中输入网址:首先,我们在Edge浏览器的地址栏中输入了 https://stackoverflow.com/ 网址,以便进入该网站的主页。

进入页面:浏览器会加载并呈现Stack Overflow的主页,这是一个动态的网页,包含了各种问题、答案以及与开发者社区相关的信息。

打开开发者工具:我们通过浏览器的开发者工具来捕获和分析与网站之间的HTTP通信。在Edge浏览器中,可以通过按下F12键或右键点击页面并选择“检查”来打开开发者工具。

刷新页面:在开发者工具打开的情况下,我们刷新了Stack Overflow的主页。这一步操作会触发新的HTTP请求,包括页面的资源加载和数据请求,这些请求将在后续的分析中被详细研究。

通过这些操作,我们进入了Stack Overflow网站,启用了开发者工具,准备开始对该网站的HTTP通信和页面结构进行深入分析,以更好地理解万维网的运行原理和相关技术。

分析网络拓扑和数据流向

拓扑图见下方实验内容部分

分析网页组成

在开发者工具中打开元素标签,便可以对网页的html组成进行查看。分析结果见下方实验内容部分

【数据采集与集成】实验-万维网运行原理分析_第1张图片

分析HTTP协议

为了更深入地理解网站的运行原理,我们在开发者工具中打开了Network标签,通过以下步骤查看Stack Overflow网站的HTTP协议细节:

  1. 打开Network标签:在开发者工具中,我们点击了Network标签,以便监视所有与网站之间的网络请求和响应。
  2. 刷新页面:随后,我们执行了页面的刷新操作,这导致浏览器向Stack Overflow网站发送了多个HTTP请求,以获取页面所需的资源和数据。
  3. 找到https://stackoverflow.com/:在Network标签中,我们可以看到多个请求列表,其中包括与Stack Overflow网站相关的请求。我们找到了名为https://stackoverflow.com/的请求,这是对网站主页的请求。
  4. 点击Headers:为了查看HTTP协议的详细信息,我们点击了https://stackoverflow.com/请求下的Headers选项。这一步骤将显示该请求的HTTP头部信息,包括请求头和响应头。

【数据采集与集成】实验-万维网运行原理分析_第2张图片

实验结果

网络拓扑和数据流向

【数据采集与集成】实验-万维网运行原理分析_第3张图片

网页组成分析

首先,在这个HTML网页中,标签通常用于包含文档的元数据信息,例如页面的标题和字符集设置。而标签则用于包含网页的实际内容,例如文本、图像、链接和其他媒体元素。

在标签内,通常会包含标签来定义字符集和其他元数据。这些元数据可以帮助浏览器正确地渲染网页,并让搜索引擎更好地理解网页的内容。此外,标签还可以包含标签,用于引用外部样式表(CSS)和图标。

在标签内,网页的实际内容开始展现。这可能包括文章的主要文本,段落,标题,以及图像、视频和音频等多媒体元素。链接也经常出现在标签内,以便用户可以导航到其他网页。

网页的语言设置(lang="en")非常重要,因为它有助于浏览器和搜索引擎正确地解释和呈现文本。

【数据采集与集成】实验-万维网运行原理分析_第4张图片

先看子标签head,子标签通常包含了网页的元信息和资源链接。以下是标签中可能包含的一些子标签及其作用:

  1. 标签:该标签包含了网站的标题,通常显示在浏览器标签页的标题栏上,对于搜索引擎优化(SEO)也很重要。</li> <li style="text-align:left;"><meta>标签:用于提供网站的元信息,如关键词、简介、作者等。这些信息有助于搜索引擎了解网页内容和分类。</li> <li style="text-align:left;"><link>标签:通常用于引用外部样式表文件(CSS),用于控制网页的布局和外观。也可以用于定义网站图标(favicon)等信息。</li> <li style="text-align:left;"><script>标签:包含网页的JavaScript脚本代码,用于实现网页的交互和功能。JavaScript是一种常用的客户端脚本语言。</li> <li style="text-align:left;"><style>标签:包含网页的CSS样式规则,用于定义网页的外观和排版,可以控制字体、颜色、边距等样式属性。</li> </ol> <p style="margin-left:0;text-align:left;">这些子标签共同构成了<head>部分,以帮助网页正确地渲染和交互。<title>标签定义了网页的标题,<meta>标签提供了重要的元信息,<link>标签引用外部样式表,<script>标签包含了JavaScript代码,而<style>标签则定义了内部样式。</p> <p style="margin-left:0;text-align:left;"><a href="http://img.e-com-net.com/image/info8/2b9bf3d6a9b346f48bb420ddec11de88.jpg" target="_blank"><img alt="【数据采集与集成】实验-万维网运行原理分析_第5张图片" height="459" src="http://img.e-com-net.com/image/info8/2b9bf3d6a9b346f48bb420ddec11de88.jpg" width="650" style="border:1px solid black;"></a></p> <p style="margin-left:0;text-align:left;">子标签<body>是网页的主要内容部分,通常包含了网站的实际显示内容。在<body>中,常见的标签是<div>,它们用来划分网页的布局,将页面分成多个小块,每个小块可以具有自己的样式、属性和行为。</p> <p style="margin-left:0;text-align:left;">这些<div>标签的目的是将网页内容组织成易于管理和排列的结构。通过使用不同的<div>,可以创造出各种不同的布局,例如页眉、导航栏、内容区域和页脚等。</p> <p style="margin-left:0;text-align:left;"><a href="http://img.e-com-net.com/image/info8/e56a951ce15d4d35883d90abc4693ece.jpg" target="_blank"><img alt="【数据采集与集成】实验-万维网运行原理分析_第6张图片" height="411" src="http://img.e-com-net.com/image/info8/e56a951ce15d4d35883d90abc4693ece.jpg" width="650" style="border:1px solid black;"></a></p> <p style="margin-left:0;text-align:left;"></p> <p style="margin-left:0;text-align:left;"><strong>HTTP协议分析</strong></p> <p style="margin-left:0;text-align:left;"></p> <p style="margin-left:0;text-align:left;">请求报文</p> <p style="margin-left:0;text-align:left;"><a href="http://img.e-com-net.com/image/info8/38c420adfe4c48a08f0fa8fd960efa05.jpg" target="_blank"><img alt="【数据采集与集成】实验-万维网运行原理分析_第7张图片" height="308" src="http://img.e-com-net.com/image/info8/38c420adfe4c48a08f0fa8fd960efa05.jpg" width="650" style="border:1px solid black;"></a></p> <ol> <li style="text-align:left;">:authority: stackoverflow.com</li> </ol> <p style="margin-left:0;text-align:left;">这是HTTP/2中的伪标头字段,指示请求的目标主机名。</p> <ol> <li style="text-align:left;">:method: GET</li> </ol> <p style="margin-left:0;text-align:left;">该伪标头字段指定了HTTP方法,这里是GET,表示客户端希望获取资源。</p> <ol> <li style="text-align:left;">:path: /</li> </ol> <p style="margin-left:0;text-align:left;">这是伪标头字段,表示请求的路径,即要访问的资源的相对路径。在这里,请求的路径是根路径 /。</p> <ol> <li style="text-align:left;">:scheme: https</li> </ol> <p style="margin-left:0;text-align:left;">这是伪标头字段,指示请求使用的协议方案,这里是HTTPS。</p> <ol> <li style="text-align:left;">Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7</li> </ol> <p style="margin-left:0;text-align:left;">这是客户端发送的Accept头部字段,指示客户端可以接受的响应媒体类型和优先级。</p> <ol> <li style="text-align:left;">Accept-Encoding: gzip, deflate, br</li> </ol> <p style="margin-left:0;text-align:left;">这是客户端发送的Accept-Encoding头部字段,指示客户端支持的响应内容编码方法,包括gzip、deflate和br(Brotli)等。</p> <ol> <li style="text-align:left;">Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,en-GB;q=0.6</li> </ol> <p style="margin-left:0;text-align:left;">这是客户端发送的Accept-Language头部字段,指示客户端支持的语言首选项,以便服务器返回相应的本地化内容。</p> <ol> <li style="text-align:left;">Cache-Control: max-age=0</li> </ol> <p style="margin-left:0;text-align:left;">这是客户端发送的Cache-Control头部字段,指示客户端不要使用缓存副本,要求服务器始终提供最新的资源。</p> <ol> <li style="text-align:left;">Cookie:</li> </ol> <p style="margin-left:0;text-align:left;">这是客户端发送的Cookie头部字段,包含了一个或多个HTTP Cookie,用于标识客户端的会话信息。</p> <ol> <li style="text-align:left;">Sec-Ch-Ua: "Microsoft Edge";v="117", "Not;A=Brand";v="8", "Chromium";v="117"</li> </ol> <p style="margin-left:0;text-align:left;">这是一个安全头部,指示客户端的用户代理(User Agent)信息。它包括了用户代理名称及版本号。</p> <ol> <li style="text-align:left;">Sec-Ch-Ua-Mobile: ?0</li> </ol> <p style="margin-left:0;text-align:left;">这是一个安全头部,指示客户端是否在移动设备上运行。</p> <ol> <li style="text-align:left;">Sec-Ch-Ua-Platform: "Windows"</li> </ol> <p style="margin-left:0;text-align:left;">这是一个安全头部,指示客户端的操作系统平台。</p> <ol> <li style="text-align:left;">Sec-Fetch-Dest: document</li> </ol> <p style="margin-left:0;text-align:left;">这是一个安全头部,指示客户端期望获取的响应类型是文档。</p> <ol> <li style="text-align:left;">Sec-Fetch-Mode: navigate</li> </ol> <p style="margin-left:0;text-align:left;">这是一个安全头部,指示客户端的请求模式,这里是导航模式,表示客户端希望导航到新的页面。</p> <ol> <li style="text-align:left;">Sec-Fetch-Site: none</li> </ol> <p style="margin-left:0;text-align:left;">这是一个安全头部,指示请求的站点类型。"none" 表示请求没有来源站点。</p> <ol> <li style="text-align:left;">Sec-Fetch-User: ?1</li> </ol> <p style="margin-left:0;text-align:left;">这是一个安全头部,表示用户是否参与了请求。 "?1" 表示用户参与。</p> <ol> <li style="text-align:left;">Upgrade-Insecure-Requests: 1</li> </ol> <p style="margin-left:0;text-align:left;">这是一个请求头部字段,指示客户端希望将不安全的HTTP请求升级为HTTPS,以增加安全性。</p> <ol> <li style="text-align:left;">User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.47</li> </ol> <p style="margin-left:0;text-align:left;">这是用户代理头部字段,包含了客户端的详细信息,包括浏览器类型、版本和操作系统信息。</p> <p style="margin-left:0;text-align:left;"></p> <p style="margin-left:0;text-align:left;">响应报文</p> <p style="margin-left:0;text-align:left;"><a href="http://img.e-com-net.com/image/info8/cdf474b6763f4c89af009efc4024cca3.jpg" target="_blank"><img alt="【数据采集与集成】实验-万维网运行原理分析_第8张图片" height="257" src="http://img.e-com-net.com/image/info8/cdf474b6763f4c89af009efc4024cca3.jpg" width="650" style="border:1px solid black;"></a></p> <ol> <li style="text-align:left;">Cache-Control: private</li> </ol> <p style="margin-left:0;text-align:left;">该字段指定了响应的缓存控制策略。在这种情况下,响应被标记为私有的,意味着它只能被单个用户缓存,而不能被共享缓存。</p> <ol> <li style="text-align:left;">Cf-Cache-Status: DYNAMIC</li> </ol> <p style="margin-left:0;text-align:left;">该字段是由Cloudflare CDN (Content Delivery Network) 提供的,表示缓存状态。这里的 "DYNAMIC" 表示响应是动态生成的,没有被缓存。</p> <ol> <li style="text-align:left;">Cf-Ray: 812670151cfb1073-HKG</li> </ol> <p style="margin-left:0;text-align:left;">这是Cloudflare使用的一个标识符,用于跟踪请求/响应的详细信息。</p> <ol> <li style="text-align:left;">Content-Encoding: gzip</li> </ol> <p style="margin-left:0;text-align:left;">这个字段指定了响应主体使用了gzip压缩算法进行压缩。</p> <ol> <li style="text-align:left;">Content-Security-Policy: upgrade-insecure-requests; frame-ancestors 'self' https://stackexchange.com</li> </ol> <p style="margin-left:0;text-align:left;">这是内容安全策略(CSP)的设置,用于控制哪些内容和来源可以加载到页面中。在这里,它要求升级不安全的请求,并限制框架(iframe)的来源只能是本站和https://stackexchange.com。</p> <ol> <li style="text-align:left;">Content-Type: text/html; charset=utf-8</li> </ol> <p style="margin-left:0;text-align:left;">表明响应主体的内容类型为HTML,字符集为UTF-8编码。</p> <ol> <li style="text-align:left;">Date: Sat, 07 Oct 2023 13:19:48 GMT</li> </ol> <p style="margin-left:0;text-align:left;">指示响应的生成日期和时间。</p> <ol> <li style="text-align:left;">Feature-Policy: microphone 'none'; speaker 'none'</li> </ol> <p style="margin-left:0;text-align:left;">这是特性策略的设置,用于控制页面的一些功能,例如麦克风和扬声器的使用。在这里,禁用了麦克风和扬声器。</p> <ol> <li style="text-align:left;">Server: cloudflare</li> </ol> <p style="margin-left:0;text-align:left;">指明了服务器的类型,这里是Cloudflare。</p> <ol> <li style="text-align:left;">Set-Cookie: prov=59d5b555-1148-488a-a9a6-e50a239720a8; expires=Mon, 07 Oct 2024 13:19:48 GMT; domain=.stackoverflow.com; path=/; secure; samesite=none; httponly</li> </ol> <p style="margin-left:0;text-align:left;">设置了一个HTTP Cookie,包括名称、值、过期时间、作用域、路径和一些安全选项。</p> <ol> <li style="text-align:left;">Strict-Transport-Security: max-age=15552000</li> </ol> <p style="margin-left:0;text-align:left;">告诉浏览器在未来的时间内强制使用HTTPS进行通信,以增加安全性。</p> <ol> <li style="text-align:left;">Vary: Accept-Encoding</li> </ol> <p style="margin-left:0;text-align:left;">指定了Vary头部,表示响应的内容可能会根据请求中的Accept-Encoding头部不同而变化。</p> <ol> <li style="text-align:left;">X-Dns-Prefetch-Control: off</li> </ol> <p style="margin-left:0;text-align:left;">控制DNS预取的设置,这里是禁用了DNS预取。</p> <ol> <li style="text-align:left;">X-Frame-Options: SAMEORIGIN</li> </ol> <p style="margin-left:0;text-align:left;">这是一个安全头部,用于控制页面是否可以嵌套在iframe中。这里的 "SAMEORIGIN" 意味着只有相同来源的页面可以嵌套当前页面。</p> <p style="margin-left:0;text-align:left;">X-Request-Guid: b89fcadb-1473-479e-be05-06d9b82ffbbc</p> <p style="margin-left:0;text-align:left;">一个请求标识符,用于跟踪请求的唯一性。</p> <p style="margin-left:0;text-align:left;"></p> <h2 style="text-align:left;"><strong>实验总结</strong></h2> <p style="margin-left:0;text-align:left;">利用浏览器的开发者工具,特别是网络面板,捕获和查看了与所选网站之间的HTTP通信内容。通过这些工具,详细分析了HTTP请求和响应,深入了解了数据交换过程,包括请求头、响应头、请求方法、URL、状态码等关键信息。</p> <p style="margin-left:0;text-align:left;">基于观察到的网络通信情况,绘制了一个网络拓扑图,清晰展示了各组成部分之间的连接关系,同时标示了数据流向,包括数据在浏览器、协议、服务器之间的流动路径。这有助于更好地理解网站的整体架构和数据传输流程。</p> <p style="margin-left:0;text-align:left;">进一步,深入分析了所选网站中的一个单独网页,包括其HTML组成要素、页面结构、标签、CSS样式等。这帮助理解了前端构建的基本原理和技术。</p> <p style="margin-left:0;text-align:left;">最重要的是,对HTTP协议进行了深入分析,包括请求报文和应答报文的结构和内容。特别关注了请求方法、URL、状态码、响应数据等关键点,从而更深入地理解了网站与客户端之间的通信细节。</p> <p style="margin-left:0;text-align:left;"></p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1735376978204221440"></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/1950233199242178560.htm" title="x86-64汇编语言训练程序与实战" target="_blank">x86-64汇编语言训练程序与实战</a> <span class="text-muted">十除以十等于一</span> <div>本文还有配套的精品资源,点击获取简介:汇编语言是一种低级语言,与机器代码紧密相关,特别适用于编写系统级代码及性能要求高的应用。nasm编译器是针对x86和x86-64架构的汇编语言编译器,支持多种语法风格和指令集。项目Euler提供数学和计算机科学问题,鼓励编程技巧应用,前100个问题的答案可共享。x86-64架构扩展了寄存器数量并引入新指令,提升了数据处理效率。学习汇编语言能够深入理解计算机底层</div> </li> <li><a href="/article/1950232910862807040.htm" title="《玉骨遥》:大司命为什么不杀朱颜?原因没那么简单" target="_blank">《玉骨遥》:大司命为什么不杀朱颜?原因没那么简单</a> <span class="text-muted">windy天意晚晴</span> <div>《玉骨遥》里,朱颜就是时影的命劫之人。重明与时影早就知道,他们一直瞒着大司命,如今大司命也知道了真相。可是大司命却没有杀朱颜,而是给朱颜下了诛心咒,还说时影的命劫已经破了,真的如此吗?1、计划总是赶不上变化的大司命从目前剧情来说,大司命还不如时影,他信心十足的事情总会有纰漏。他不让时影见命劫之女,结果时影还是遇上了。他想让时影走火入魔,一心复仇,结果时影在朱颜的劝说下放下了仇恨。大司命让时影开山收</div> </li> <li><a href="/article/1950232820773351424.htm" title="移动端城市区县二级联动选择功能实现包" target="_blank">移动端城市区县二级联动选择功能实现包</a> <span class="text-muted">good2know</span> <div>本文还有配套的精品资源,点击获取简介:本项目是一套为移动端设计的jQuery实现方案,用于简化用户在选择城市和区县时的流程。它包括所有必需文件:HTML、JavaScript、CSS及图片资源。通过动态更新下拉菜单选项,实现城市到区县的联动效果,支持数据异步加载。开发者可以轻松集成此功能到移动网站或应用,并可基于需求进行扩展和优化。1.jQuery移动端解决方案概述jQuery技术简介jQuery</div> </li> <li><a href="/article/1950232316974526464.htm" title="(二)SAP Group Reporting (GR) 核心子模块功能及数据流向架构解析" target="_blank">(二)SAP Group Reporting (GR) 核心子模块功能及数据流向架构解析</a> <span class="text-muted"></span> <div>数据如何从子公司流转到合并报表的全过程,即数据采集→合并引擎→报表输出,特别是HANA内存计算如何优化传统ETL瓶颈。SAPGroupReporting(GR)核心模块功能及数据流向的架构解析,涵盖核心组件、数据处理流程和关键集成点,适用于S/4HANA1809+版本:一、核心功能模块概览模块功能关键事务码/FioriApp数据采集(DataCollection)整合子公司财务数据(SAP/非SA</div> </li> <li><a href="/article/1950231381485350912.htm" title="《极简思维》第三部分" target="_blank">《极简思维》第三部分</a> <span class="text-muted">小洋苏兮</span> <div>整理你的人际关系如何改善人际关系?摘录:因为人际关系问题是人们生活中不快乐的主要原因。感想:感觉这个说的挺对,之前我总是埋头学习,不管舍友不管自己的合作伙伴的一些事情,但实际上,这学期关注了之后好多了摘录:“亲密关系与社交会让你健康而快乐。这是基础。太过于关注成就或不太关心人际关系的人都不怎么快乐。基本上来说,人类就是建立在人脉关系上的。”感想:但是如果有时想的太多就不太好,要以一个开放的心态跟别</div> </li> <li><a href="/article/1950231254427299840.htm" title="我不懂什么是爱,但我给你全部我拥有的" target="_blank">我不懂什么是爱,但我给你全部我拥有的</a> <span class="text-muted">香尧</span> <div>因为怕黑,所以愿意陪伴在夜中行走的人,给他一点点的安全感。因为渴望温柔与爱,所以愿意为别的孩子付出爱与温柔。因为曾遭受侮辱和伤害,所以不以同样的方式施于其他人。如果你向别人出之以利刃,对方还了你爱与包容,真的不要感激他,真的不要赞美他。每一个被人伤害过的人心里都留下了一颗仇恨的种子,他也会想要有一天以眼还眼,以牙还牙。但他未让那颗种子生根发芽,他用一把心剑又一次刺向他自己,用他血荐仇恨,开出一朵温</div> </li> <li><a href="/article/1950228468897738752.htm" title="别再讲道理啦,对方听不进去的" target="_blank">别再讲道理啦,对方听不进去的</a> <span class="text-muted">方所</span> <div>我之前写过一篇叫做《你总妄想改变他人》,然后就有朋友跟我说,有一些方法可以改变他人之类的。嗯,是这样,但是任何具体的问题,都要限定好语境,描述清楚前提条件,然后再表达观点,我的这位朋友的说法就犯了一刀切的错误,这样并不能让讨论正常展开(这篇我得先给她看看,不然可能会挨揍)。好了,hhhh,谁让她不能写文章呢,我就来再说一说吧。我前面说过,我们在学到一个道理、学会一种方法之后,总是迫不及待地想要去与</div> </li> <li><a href="/article/1950228285266915328.htm" title="Git 与 GitHub 的对比与使用指南" target="_blank">Git 与 GitHub 的对比与使用指南</a> <span class="text-muted">一念&</span> <a class="tag" taget="_blank" href="/search/%E5%85%B6%E5%AE%83/1.htm">其它</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>Git与GitHub的对比与使用指南在软件开发中,Git和GitHub是两个密切相关但本质不同的工具。下面我将逐步解释它们的定义、区别、核心概念以及如何协同使用,确保内容真实可靠,基于广泛的技术实践。1.什么是Git?Git是一个分布式版本控制系统,由LinusTorvalds于2005年创建。它的核心功能是跟踪代码文件的变化,帮助开发者管理项目历史记录、协作和回滚错误。Git是开源的,可以在本地</div> </li> <li><a href="/article/1950228158863175680.htm" title="英伟达靠什么支撑起了4万亿?AI泡沫还能撑多久?" target="_blank">英伟达靠什么支撑起了4万亿?AI泡沫还能撑多久?</a> <span class="text-muted"></span> <div>英伟达市值突破4万亿美元,既是AI算力需求爆发的直接体现,也暗含市场对未来的狂热预期。其支撑逻辑与潜在风险并存,而AI泡沫的可持续性则取决于技术、商业与地缘政治的复杂博弈。⚙️一、英伟达4万亿市值的核心支撑因素技术垄断与生态壁垒硬件优势:英伟达GPU在AI训练市场占有率超87%,H100芯片的FP16算力达1979TFLOPS,领先竞品3-5倍。CUDA生态:400万开发者构建的软件护城河,成为A</div> </li> <li><a href="/article/1950228032513961984.htm" title="ARM 和 AMD 架构的区别" target="_blank">ARM 和 AMD 架构的区别</a> <span class="text-muted">m0_69576880</span> <a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>ARM架构和AMD架构是两种不同的计算机处理器架构,它们有以下几个主要区别:设计出发点、兼容性、性能特点、市场定价。设计出发点:①ARM构架:ARM架构最初是为嵌入式系统设计的,旨在提供低功耗和高效能的解决方案。它主要应用于移动设备、嵌入式系统和物联网设备②AMD架构:AMD架构是基于x86架构的扩展,旨在提供与Intel架构兼容的处理器。它主要用于台式机、服务器和工作站等计算机系统。兼容性:AR</div> </li> <li><a href="/article/1950227023859347456.htm" title="Linux系统配置(应用程序)" target="_blank">Linux系统配置(应用程序)</a> <span class="text-muted">1风天云月</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F/1.htm">应用程序</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85/1.htm">编译安装</a><a class="tag" taget="_blank" href="/search/rpm/1.htm">rpm</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a> <div>目录前言一、应用程序概述1、命令与程序的关系2、程序的组成3、软件包封装类型二、RPM1、RPM概述2、RPM用法三、编译安装1、解包2、配置3、编译4、安装5、启用httpd服务结语前言在Linux中的应用程序被视为将软件包安装到系统中后产生的各种文档,其中包括可执行文件、配置文件、用户手册等内容,这些文档被组织为一个有机的整体,为用户提供特定的功能,因此对于“安装软件包”与“安装应用程序”这两</div> </li> <li><a href="/article/1950226517397139456.htm" title="JVM 内存模型深度解析:原子性、可见性与有序性的实现" target="_blank">JVM 内存模型深度解析:原子性、可见性与有序性的实现</a> <span class="text-muted">练习时长两年半的程序员小胡</span> <a class="tag" taget="_blank" href="/search/JVM/1.htm">JVM</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%89%96%E6%9E%90%EF%BC%9A%E4%BB%8E%E9%9D%A2%E8%AF%95%E8%80%83%E7%82%B9%E5%88%B0%E7%94%9F%E4%BA%A7%E5%AE%9E%E8%B7%B5/1.htm">深度剖析:从面试考点到生产实践</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98%E6%A8%A1%E5%9E%8B/1.htm">内存模型</a> <div>在了解了JVM的基础架构和类加载机制后,我们需要进一步探索Java程序在多线程环境下的内存交互规则。JVM内存模型(JavaMemoryModel,JMM)定义了线程和主内存之间的抽象关系,它通过规范共享变量的访问方式,解决了多线程并发时的数据一致性问题。本文将从内存模型的核心目标出发,详解原子性、可见性、有序性的实现机制,以及volatile、synchronized等关键字在其中的作用。一、J</div> </li> <li><a href="/article/1950226391064702976.htm" title="Flowable 实战落地核心:选型决策与坑点破解" target="_blank">Flowable 实战落地核心:选型决策与坑点破解</a> <span class="text-muted">练习时长两年半的程序员小胡</span> <a class="tag" taget="_blank" href="/search/Flowable/1.htm">Flowable</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%BC%95%E6%93%8E%E5%AE%9E%E6%88%98%E6%8C%87%E5%8D%97/1.htm">流程引擎实战指南</a><a class="tag" taget="_blank" href="/search/%E4%BD%8E%E4%BB%A3%E7%A0%81/1.htm">低代码</a><a class="tag" taget="_blank" href="/search/BPMN/1.htm">BPMN</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%BC%95%E6%93%8E/1.htm">流程引擎</a><a class="tag" taget="_blank" href="/search/flowable/1.htm">flowable</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>在企业级流程引擎的落地过程中,选型的准确性和坑点的预见性直接决定项目成败。本文聚焦Flowable实战中最关键的“选型决策”与“常见坑点”,结合真实项目经验,提供可落地的解决方案。一、流程引擎选型:从业务本质出发1.1选型的三大核心维度企业在选择流程引擎时,需避免陷入“技术崇拜”,应回归业务本质。评估Flowable是否适用,可从三个维度判断:业务复杂度若流程涉及动态审批链(如按金额自动升级审批)</div> </li> <li><a href="/article/1950226390070652928.htm" title="Flowable 高级扩展:自定义元素与性能优化实战" target="_blank">Flowable 高级扩展:自定义元素与性能优化实战</a> <span class="text-muted">练习时长两年半的程序员小胡</span> <a class="tag" taget="_blank" href="/search/Flowable/1.htm">Flowable</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%BC%95%E6%93%8E%E5%AE%9E%E6%88%98%E6%8C%87%E5%8D%97/1.htm">流程引擎实战指南</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%9B%BE/1.htm">流程图</a><a class="tag" taget="_blank" href="/search/flowable/1.htm">flowable</a><a class="tag" taget="_blank" href="/search/BPMN/1.htm">BPMN</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%BC%95%E6%93%8E/1.htm">流程引擎</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>在前五篇文章中,我们从基础概念、流程设计、API实战、SpringBoot集成,到外部系统协同,逐步构建了Flowable的应用体系。但企业级复杂场景中,原生功能往往难以满足定制化需求——比如需要特殊的审批规则网关、与决策引擎联动实现动态路由,或是在高并发场景下优化流程引擎性能。本文将聚焦Flowable的高级扩展能力,详解如何自定义流程元素、集成规则引擎,并掌握大型系统中的性能调优策略。一、自定</div> </li> <li><a href="/article/1950226137909096448.htm" title="互信息:理论框架、跨学科应用与前沿进展" target="_blank">互信息:理论框架、跨学科应用与前沿进展</a> <span class="text-muted">大千AI助手</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/OTHER/1.htm">OTHER</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E4%BA%92%E4%BF%A1%E6%81%AF/1.htm">互信息</a><a class="tag" taget="_blank" href="/search/%E9%A6%99%E5%86%9C/1.htm">香农</a><a class="tag" taget="_blank" href="/search/%E9%80%9A%E4%BF%A1/1.htm">通信</a><a class="tag" taget="_blank" href="/search/%E9%9A%8F%E6%9C%BA%E5%8F%98%E9%87%8F/1.htm">随机变量</a> <div>1.起源与核心定义互信息(MutualInformation,MI)由克劳德·香农(ClaudeShannon)在1948年开创性论文《AMathematicalTheoryofCommunication》中首次提出,该论文奠定了现代信息论的基础。互信息用于量化两个随机变量之间的统计依赖关系,定义为:若已知一个随机变量的取值,能为另一个随机变量提供的信息量。数学上,对于离散随机变量XXX和YYY,</div> </li> <li><a href="/article/1950225785054883840.htm" title="Java | 多线程经典问题 - 售票" target="_blank">Java | 多线程经典问题 - 售票</a> <span class="text-muted">Ada54</span> <div>一、售票需求1)同一个票池2)多个窗口卖票,不能出售同一张票二、售票问题代码实现(线程与进程小总结,请戳:Java|线程和进程,创建线程)step1:定义SaleWindow类实现Runnable接口,覆盖run方法step2:实例化SaleWindow对象,创建Thread对象,将SaleWindow作为参数传给Thread类的构造函数,然后通过Thread.start()方法启动线程step3</div> </li> <li><a href="/article/1950225381961297920.htm" title="SpringMVC的执行流程" target="_blank">SpringMVC的执行流程</a> <span class="text-muted"></span> <div>1、什么是MVCMVC是一种设计模式。MVC的原理图如下所示M-Model模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View视图(做界面的展示jsp,html……)C-Controller控制器(接收请求—>调用模型—>根据结果派发页面2、SpringMVC是什么SpringMVC是一个MVC的开源框架,SpringMVC=Struts2+Spring,</div> </li> <li><a href="/article/1950225255079407616.htm" title="企业级区块链平台Hyperchain核心原理剖析" target="_blank">企业级区块链平台Hyperchain核心原理剖析</a> <span class="text-muted">boyedu</span> <a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a><a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%8C%BA%E5%9D%97%E9%93%BE%E5%B9%B3%E5%8F%B0/1.htm">企业级区块链平台</a><a class="tag" taget="_blank" href="/search/Hyperchain/1.htm">Hyperchain</a> <div>Hyperchain作为国产自主可控的企业级联盟区块链平台,其核心原理围绕高性能共识、隐私保护、智能合约引擎及可扩展架构展开,通过多模块协同实现企业级区块链网络的高效部署与安全运行。以下从核心架构、关键技术、性能优化、安全机制、应用场景五个维度展开剖析:一、核心架构:分层解耦与模块化设计Hyperchain采用分层架构,将区块链功能解耦为独立模块,支持灵活组合与扩展:P2P网络层由验证节点(VP)</div> </li> <li><a href="/article/1950224616647618560.htm" title="JAVA接口机结构解析" target="_blank">JAVA接口机结构解析</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/%E5%85%AB%E8%82%A1%E6%96%87/1.htm">八股文</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>什么是接口机在Java项目中,接口机通常指用于与外部系统进行数据交互的中间层,负责处理请求和响应的转换、协议适配、数据格式转换等任务。接口机的结构我们的接口机的结构分为两个大部分,外部接口机和内部接口机,在业务的调度上也是通过mq来实现的,只要的目的就是为了解耦合和做差异化。在接口机中主要的方法就是定时任务,消息的发送和消费,其他平台调用接口机只能提供外部接口机的方法进行调用,外部接口机可以提供消</div> </li> <li><a href="/article/1950224490331959296.htm" title="通义万相2.2:开启高清视频生成新纪元" target="_blank">通义万相2.2:开启高清视频生成新纪元</a> <span class="text-muted">Liudef06小白</span> <a class="tag" taget="_blank" href="/search/%E7%89%B9%E6%AE%8A%E4%B8%93%E6%A0%8F/1.htm">特殊专栏</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E9%80%9A%E4%B9%89%E4%B8%87%E7%9B%B82.2/1.htm">通义万相2.2</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E7%94%9F%E8%A7%86%E9%A2%91/1.htm">图生视频</a> <div>通义万相2.2:开启高清视频生成新纪元2025年7月28日,中国AI领域迎来里程碑时刻——通义万相团队正式开源其革命性视频生成模型Wan2.2的核心权重,这标志着开源社区首次获得支持720P高清视频生成的先进模型架构。一、架构革新:混合专家系统1.1MoE视频扩散架构通义万相2.2首次将混合专家(MoE)架构引入视频扩散模型,通过双专家系统实现计算效率与模型容量的平衡:classMoEVideoD</div> </li> <li><a href="/article/1950224132230672384.htm" title="氧惠官方邀请码333777,氧惠邀请码怎么获得?氧惠邀请码有什么套路?" target="_blank">氧惠官方邀请码333777,氧惠邀请码怎么获得?氧惠邀请码有什么套路?</a> <span class="text-muted">知行导师</span> <div>问:氧惠邀请码怎么获得?答:氧惠官方邀请码333777返点高佣金高真的高。问:氧惠邀请码有什么套路?答:氧惠官方邀请码333777返点高佣金高真的高。氧惠APP汇聚各大主流电商和生活服务平台优惠,展示全网全品类商品,满足网购爱好者对品质好货与极致性价比的追求,并同时享受大平台购物权益保障。满足用户日常吃喝玩乐衣食住行的聚合APP,独特的商业模式,响应国家号召,为实现全民共富而努力奋斗。氧惠邀请码3</div> </li> <li><a href="/article/1950222852074565632.htm" title="2025年SDK游戏盾终极解析:重新定义手游安全的“隐形护甲”" target="_blank">2025年SDK游戏盾终极解析:重新定义手游安全的“隐形护甲”</a> <span class="text-muted">上海云盾商务经理杨杨</span> <a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a> <div>副标题:从客户端加密到AI反外挂,拆解全链路防护如何重塑游戏攻防天平引言:当传统高防在手游战场“失效”2025年全球手游市场规模突破$2000亿,黑客单次攻击成本却降至$30——某SLG游戏因协议层CC攻击单日流失37%玩家,某开放世界游戏遭低频DDoS瘫痪6小时损失千万。传统高防IP的致命短板暴露无遗:无法识别伪造客户端流量、难防协议篡改、误杀率超15%。而集成于游戏终端的SDK游戏盾,正以“源</div> </li> <li><a href="/article/1950222345163567104.htm" title="深入理解汇编语言子程序设计与系统调用" target="_blank">深入理解汇编语言子程序设计与系统调用</a> <span class="text-muted">网安spinage</span> <a class="tag" taget="_blank" href="/search/%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80/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><a class="tag" taget="_blank" href="/search/%E6%B1%87%E7%BC%96/1.htm">汇编</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>本文将全面解析汇编语言中子程序设计的核心技术以及系统调用的实现方法,涵盖参数传递的多种方式、堆栈管理、API调用等关键知识点,并提供实际案例演示。一、子程序设计:参数传递的艺术1.寄存器传参:高效简洁.386.modelflat,stdcalloptioncasemap:none.dataxdd5;定义变量ydd6sumdd?.code;函数定义:addxy1addxy1procpushebpmo</div> </li> <li><a href="/article/1950222094314827776.htm" title="【老房翻新】92平轻奢简约风,将和谐之美融入空间!" target="_blank">【老房翻新】92平轻奢简约风,将和谐之美融入空间!</a> <span class="text-muted">没人比我更懂装修</span> <div>在客厅空间中,设计师于冷静的空间基调中选用了层次感丰富的黄蓝色作为主要跳色,搭配黑白纹理的地毯与单椅,为空间增加了时尚摩登的气息。艺术感的单品突出点亮了空间,绿植的点缀、留白的软饰则增强了空间的呼吸性。点击此处添加图片说明文字点击此处添加图片说明文字设计师力求使每一处的设立都在空间中达到相互间的呼应与制衡,将艺术的跃动之美赋于空间之上,也将空间的和谐之美融于生活之中。点击此处添加图片说明文字点击此</div> </li> <li><a href="/article/1950220180864954368.htm" title="京东家电年销售额是去年的1300%,主要来自于他...." target="_blank">京东家电年销售额是去年的1300%,主要来自于他....</a> <span class="text-muted">Shanshan小课堂</span> <div>经过大半个月角逐纠缠,时间终于来到6月18日,618全球年中购物节迎来最高潮。作为国内最大的家电零售平台,京东家电从18日0点开始,便开启了飞速狂奔的模式,仅8分钟销售额就突破20亿元!展现出强劲的增长势头与家电主场的王者霸气的同时,也让各家电品牌实现了爆发式增长,美的、海尔、格力、奥克斯均在3分钟内突破1亿元大关。在今年的618中,除了消费者已经熟悉的网购形式外,线上线下联动的融合模式、社交电商</div> </li> <li><a href="/article/1950219953118441472.htm" title="编程算法:技术创新的引擎与业务增长的核心驱动力" target="_blank">编程算法:技术创新的引擎与业务增长的核心驱动力</a> <span class="text-muted"></span> <div>在数字经济时代,算法已成为推动技术创新与业务增长的隐形引擎。从存内计算突破冯·诺依曼瓶颈,到动态规划优化万亿级金融交易,编程算法正在重塑产业竞争格局。一、存内计算:突破冯·诺依曼瓶颈的算法革命1.1存内计算的基本原理传统计算架构中90%的能耗消耗在数据搬运上。存内计算(Processing-in-Memory)通过直接在存储单元执行计算,实现能效10-100倍提升:#传统计算vs存内计算能耗模型i</div> </li> <li><a href="/article/1950219924043526144.htm" title="二十四节气组诗 谷雨" target="_blank">二十四节气组诗 谷雨</a> <span class="text-muted">离陌_6639</span> <div>图片来源网络,若侵犯了你的权益,请联系我删除6.谷雨文/离陌背上行囊背上如行囊的我从此任行程马不停蹄今天家乡的田野春雨快马加鞭播下希望的种子观音不语目送着我和夏天一道在观音山出关图片来源网络,若侵犯了你的权益,请联系我删除你好啊,我是离陌,已然在懵懂中走过了16年的岁月,为了珍惜当下的每一秒,所以立志做一名终身学习者。文学对于我来说是一种信仰,诗歌是我的生命。人生之道,四通八达,即入文学,自当持之</div> </li> <li><a href="/article/1950218946015719424.htm" title="图论算法经典题目解析:DFS、BFS与拓扑排序实战" target="_blank">图论算法经典题目解析:DFS、BFS与拓扑排序实战</a> <span class="text-muted">周童學</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/1.htm">数据结构与算法</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88/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%9B%BE%E8%AE%BA/1.htm">图论</a> <div>图论算法经典题目解析:DFS、BFS与拓扑排序实战图论问题是算法面试中的高频考点,本博客将通过四道LeetCode经典题目(均来自"Top100Liked"题库),深入讲解图论的核心算法思想和实现技巧。涵盖DFS、BFS、拓扑排序和前缀树等知识点,每道题配有Java实现和易错点分析。1.岛屿数量(DFS遍历)问题描述给定一个由'1'(陆地)和'0'(水)组成的二维网格,计算岛屿的数量。岛屿由水平或</div> </li> <li><a href="/article/1950218819616174080.htm" title="基于redis的Zset实现作者的轻量级排名" target="_blank">基于redis的Zset实现作者的轻量级排名</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/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a> <div>基于redis的Zset实现轻量级作者排名系统在今天的技术架构中,Redis是一种广泛使用的内存数据存储系统,尤其在需要高效检索和排序的场景中表现优异。在本篇博客中,我们将深入探讨如何使用Redis的有序集合(ZSet)构建一个高效的笔记排行榜系统,并提供相关代码示例和详细的解析。1.功能背景与需求假设我们有一个笔记分享平台,用户可以发布各种笔记,系统需要根据用户发布的笔记数量来生成一个实时更新的</div> </li> <li><a href="/article/1950218817753903104.htm" title="【项目实战】 容错机制与故障恢复:保障系统连续性的核心体系" target="_blank">【项目实战】 容错机制与故障恢复:保障系统连续性的核心体系</a> <span class="text-muted">本本本添哥</span> <a class="tag" taget="_blank" href="/search/004/1.htm">004</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/%E7%A0%94%E6%95%88%E4%B8%8EDevOps%E8%BF%90%E7%BB%B4%E5%B7%A5%E5%85%B7%E9%93%BE/1.htm">研效与DevOps运维工具链</a><a class="tag" taget="_blank" href="/search/002/1.htm">002</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/%E8%BF%9B%E9%98%B6%E5%BC%80%E5%8F%91%E8%83%BD%E5%8A%9B/1.htm">进阶开发能力</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>在分布式系统中,硬件故障、网络波动、软件异常等问题难以避免。容错机制与故障恢复的核心目标是:通过主动检测故障、自动隔离风险、快速转移负载、重建数据一致性,最大限度减少故障对业务的影响,保障系统“持续可用”与“数据不丢失”。以下从核心机制、实现方式、典型案例等维度展开说明。一、故障检测:及时发现异常节点故障检测是容错的第一步,需通过多维度手段实时感知系统组件状态,确保故障被快速识别。1.健康检查与心</div> </li> <li><a href="/article/117.htm" title="Algorithm" target="_blank">Algorithm</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/Algorithm/1.htm">Algorithm</a> <div>冒泡排序 public static void sort(Integer[] param) { for (int i = param.length - 1; i > 0; i--) { for (int j = 0; j < i; j++) { int current = param[j]; int next = param[j + 1];</div> </li> <li><a href="/article/244.htm" title="mongoDB 复杂查询表达式" target="_blank">mongoDB 复杂查询表达式</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>1:count    Pg: db.user.find().count();    统计多少条数据 2:不等于$ne    Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});    查询id不等于3的数据。 3:大于$gt $gte(大于等于) &n</div> </li> <li><a href="/article/371.htm" title="Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space" target="_blank">Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space</a> <span class="text-muted">0624chenhong</span> <a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jboss/1.htm">jboss</a> <div>转自 http://blog.csdn.net/zou274/article/details/5552630 解决办法: window->preferences->java->installed jres->edit jre 把default vm arguments 的参数设为-Xms64m -Xmx512m ----------------</div> </li> <li><a href="/article/498.htm" title="文件上传 下载 解析 相对路径" target="_blank">文件上传 下载 解析 相对路径</a> <span class="text-muted">不懂事的小屁孩</span> <a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/1.htm">文件上传</a> <div>有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。 下面总结一下遇到的问题: 文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。 在上传图片,或者文件时,使用form表单来操作。 前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下: <form action=&</div> </li> <li><a href="/article/625.htm" title="怎么实现qq空间批量点赞" target="_blank">怎么实现qq空间批量点赞</a> <span class="text-muted">换个号韩国红果果</span> <a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a> <div>纯粹为了好玩!! 逻辑很简单 1 打开浏览器console;输入以下代码。 先上添加赞的代码 var tools={}; //添加所有赞 function init(){ document.body.scrollTop=10000; setTimeout(function(){document.body.scrollTop=0;},2000);//加</div> </li> <li><a href="/article/752.htm" title="判断是否为中文" target="_blank">判断是否为中文</a> <span class="text-muted">灵静志远</span> <a class="tag" taget="_blank" href="/search/%E4%B8%AD%E6%96%87/1.htm">中文</a> <div>方法一: public class Zhidao { public static void main(String args[]) { String s = "sdf灭礌 kjl d{';\fdsjlk是"; int n=0; for(int i=0; i<s.length(); i++) { n = (int)s.charAt(i); if((</div> </li> <li><a href="/article/879.htm" title="一个电话面试后总结" target="_blank">一个电话面试后总结</a> <span class="text-muted">a-john</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。 面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:   在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。   然后对list和map分别举几个类型:   list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了</div> </li> <li><a href="/article/1006.htm" title="MSSQL中Escape转义的使用" target="_blank">MSSQL中Escape转义的使用</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/MSSQL/1.htm">MSSQL</a> <div>IF OBJECT_ID('tempdb..#ABC') is not null drop table tempdb..#ABC create table #ABC ( PATHNAME NVARCHAR(50) ) insert into #ABC SELECT N'/ABCDEFGHI' UNION ALL SELECT N'/ABCDGAFGASASSDFA' UNION ALL</div> </li> <li><a href="/article/1133.htm" title="一个简单的存储过程" target="_blank">一个简单的存储过程</a> <span class="text-muted">asialee</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B/1.htm">存储过程</a><a class="tag" taget="_blank" href="/search/%E6%9E%84%E9%80%A0%E6%95%B0%E6%8D%AE/1.htm">构造数据</a><a class="tag" taget="_blank" href="/search/%E6%89%B9%E9%87%8F%E6%8F%92%E5%85%A5/1.htm">批量插入</a> <div>           今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:            DELIMITER $$ DROP PROCEDURE IF EXISTS inse</div> </li> <li><a href="/article/1260.htm" title="annot convert from HomeFragment_1 to Fragment" target="_blank">annot convert from HomeFragment_1 to Fragment</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/%E5%AF%BC%E5%8C%85%E9%94%99%E8%AF%AF/1.htm">导包错误</a> <div>创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;     创建类时引入包是:import android.app.Fragment;      创建队列和对象时使用的包是:import android.support.v4.ap</div> </li> <li><a href="/article/1387.htm" title="Weblogic10两种修改端口的方法" target="_blank">Weblogic10两种修改端口的方法</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/weblogic/1.htm">weblogic</a><a class="tag" taget="_blank" href="/search/%E7%AB%AF%E5%8F%A3%E5%8F%B7/1.htm">端口号</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86/1.htm">配置管理</a><a class="tag" taget="_blank" href="/search/config.xml/1.htm">config.xml</a> <div>一.进入控制台进行修改    1.进入控制台:  http://127.0.0.1:7001/console     2.展开左边树菜单         域结构->环境->服务器-->点击AdminServer(管理) &</div> </li> <li><a href="/article/1514.htm" title="mysql 操作指令" target="_blank">mysql 操作指令</a> <span class="text-muted">征客丶</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>一、连接mysql 进入 mysql 的安装目录; $ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p 输入密码,回车,接连; 二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效] 1、赋权 mys</div> </li> <li><a href="/article/1641.htm" title="【Hive一】Hive入门" target="_blank">【Hive一】Hive入门</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a> <div>Hive安装与配置 Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。   Hive安装和配置的步骤   1. 从如下地址下载Hive0.14.0   http://mirror.bit.edu.cn/apache/hive/    2.解压hive,在系统变</div> </li> <li><a href="/article/1768.htm" title="ajax 三种提交请求的方法" target="_blank">ajax 三种提交请求的方法</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/jqery/1.htm">jqery</a> <div>1、ajax 提交请求 $.ajax({ type:"post", url : "${ctx}/front/Hotel/getAllHotelByAjax.do", dataType : "json", success : function(result) { try { for(v</div> </li> <li><a href="/article/1895.htm" title="mongodb开发环境下的搭建入门" target="_blank">mongodb开发环境下的搭建入门</a> <span class="text-muted">braveCS</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>  linux下安装mongodb 1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz 2)linux 解压  gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz; mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-</div> </li> <li><a href="/article/2022.htm" title="编程之美-最短摘要的生成" target="_blank">编程之美-最短摘要的生成</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/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public class ShortestAbstract { /** * 编程之美 最短摘要的生成 * 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran</div> </li> <li><a href="/article/2149.htm" title="json数据解析及typeof" target="_blank">json数据解析及typeof</a> <span class="text-muted">chengxuyuancsdn</span> <a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/typeof/1.htm">typeof</a><a class="tag" taget="_blank" href="/search/json%E8%A7%A3%E6%9E%90/1.htm">json解析</a> <div> // json格式 var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},' +' {"firstName": "CCC&</div> </li> <li><a href="/article/2276.htm" title="流程系统设计的层次和目标" target="_blank">流程系统设计的层次和目标</a> <span class="text-muted">comsci</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/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a> <div>                               流程系统设计的层次和目标  </div> </li> <li><a href="/article/2403.htm" title="RMAN List和report 命令" target="_blank">RMAN List和report 命令</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/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/report/1.htm">report</a><a class="tag" taget="_blank" href="/search/rman/1.htm">rman</a> <div>LIST 命令 使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的 信息。使用此命令可列出: • RMAN 资料档案库中状态不是AVAILABLE 的备份和副本 • 可用的且可以用于还原操作的数据文件备份和副本 • 备份集和副本,其中包含指定数据文件列表或指定表空间的备份 • 包含指定名称或范围的所有归档日志备份的备份集和副本 • 由标记、完成时间、可</div> </li> <li><a href="/article/2530.htm" title="二叉树:红黑树" target="_blank">二叉树:红黑树</a> <span class="text-muted">dieslrae</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8F%89%E6%A0%91/1.htm">二叉树</a> <div>    红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.     红黑树必须遵循红黑规则,规则如下     1、每个节点不是红就是黑。     2、根总是黑的  &</div> </li> <li><a href="/article/2657.htm" title="C语言homework3,7个小题目的代码" target="_blank">C语言homework3,7个小题目的代码</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a> <div>1、打印100以内的所有奇数。 # include <stdio.h> int main(void) { int i; for (i=1; i<=100; i++) { if (i%2 != 0) printf("%d ", i); } return 0; }  2、从键盘上输入10个整数,</div> </li> <li><a href="/article/2784.htm" title="自定义按钮, 图片在上, 文字在下, 居中显示" target="_blank">自定义按钮, 图片在上, 文字在下, 居中显示</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89/1.htm">自定义</a> <div>#import <UIKit/UIKit.h> @interface MyButton : UIButton -(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa</div> </li> <li><a href="/article/2911.htm" title="MySQL查询语句练习题,测试足够用了" target="_blank">MySQL查询语句练习题,测试足够用了</a> <span class="text-muted">flyvszhb</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>http://blog.sina.com.cn/s/blog_767d65530101861c.html 1.创建student和score表 CREATE  TABLE  student ( id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  , name  VARCHAR</div> </li> <li><a href="/article/3038.htm" title="转:MyBatis Generator 详解" target="_blank">转:MyBatis Generator 详解</a> <span class="text-muted">happyqing</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a> <div>  MyBatis Generator 详解 http://blog.csdn.net/isea533/article/details/42102297   MyBatis Generator详解 http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.</div> </li> <li><a href="/article/3165.htm" title="让程序员少走弯路的14个忠告" target="_blank">让程序员少走弯路的14个忠告</a> <span class="text-muted">jingjing0907</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E5%88%92/1.htm">计划</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>  无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助   1.不要害怕在工作中学习。 只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放</div> </li> <li><a href="/article/3292.htm" title="nginx和NetScaler区别" target="_blank">nginx和NetScaler区别</a> <span class="text-muted">流浪鱼</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。 2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。 3.策略灵活度方</div> </li> <li><a href="/article/3419.htm" title="第11章 动画效果(下)" target="_blank">第11章 动画效果(下)</a> <span class="text-muted">onestopweb</span> <a class="tag" taget="_blank" href="/search/%E5%8A%A8%E7%94%BB/1.htm">动画</a> <div>index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/</div> </li> <li><a href="/article/3546.htm" title="FAQ - SAP BW BO roadmap" target="_blank">FAQ - SAP BW BO roadmap</a> <span class="text-muted">blueoxygen</span> <a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a><a class="tag" taget="_blank" href="/search/BW/1.htm">BW</a> <div>http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq   Besides, I care that how to integrate tightly.   By the way, for BW consultants, please just focus on Query Designer which i</div> </li> <li><a href="/article/3673.htm" title="关于java堆内存溢出的几种情况" target="_blank">关于java堆内存溢出的几种情况</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a> <div>【情况一】:    java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环;   如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决:   <jvm-arg>-Xms3062m</jvm-arg>   <jvm-arg>-Xmx</div> </li> <li><a href="/article/3800.htm" title="Manifest.permission_group权限组" target="_blank">Manifest.permission_group权限组</a> <span class="text-muted">阿尔萨斯</span> <a class="tag" taget="_blank" href="/search/Permission/1.htm">Permission</a> <div>结构 继承关系 public static final class Manifest.permission_group extends Object java.lang.Object android. Manifest.permission_group 常量 ACCOUNTS 直接通过统计管理器访问管理的统计 COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限 D</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>