3-Answer 系列-本体构建模块(二)

上一篇已经对本体构建模块涉及到的概念和技术做了简单的介绍,这一篇原本是想更为详细的讲解本体构建模块的具体实现,但是在写百度百科结构分析部分时写的内容过多,为了让文章更好阅读,这一篇就先只讲百度百科结构分析这一部分。

百度百科结构分析

百度百科是 Answer 系统本体库的主要数据来源,我们将利用 WebMagic 从百度百科抓取数据并利用 Jena 来构建本体库。

之所以选择百度百科作为构建本体库的数据源,是因为其具有半结构化的特点,这降低了从中抽取知识的难度。下面就举几个栗子来分析百科页面的结构特点:

  • "周杰伦" 百科页面
3-Answer 系列-本体构建模块(二)_第1张图片
2018-03-26-3-Answer-pic-1.png
  • "美人鱼" (周杰伦创作歌曲)百科页面
3-Answer 系列-本体构建模块(二)_第2张图片
2018-03-26-3-Answer-pic-2.png

对比两个页面可以发现,不同词条的页面具有不同的结构。虽然两个页面都具有基本的关于词条的简介,但是 "周杰伦" 页面具有 "代表作品"、"明星关系"等内容,而作为歌曲的 "美人鱼" 则没有。

所以对于百度百科来说,每个页面的内容并不是按照严格而统一的结构来描述的,页面结构将会因词条的不同而有所变化。

但与一般的互联网页面相比,百科页面又具有较为明显的结构性,如 "周杰伦" 页面中,页面开头为关于 "周杰伦" 的简介,之后是 "代表作品" 和 "明星关系"。之后还有如下内容:

3-Answer 系列-本体构建模块(二)_第3张图片
2018-03-26-3-Answer-pic-3.png

从上图中可以查看到 "周杰伦" 的一些基本信息,如 "中文名"、"外文名"、"别名" 等。这种结构化的重要意义就是为我们提供了数据以及数据的语义。而这本质上就是我们需要抽取的知识,如对于属性"别名: 周董",我们就可以将其构造成知识 "周杰伦-别名-周董",并将其插入到本体库中。

但是在插入 "周杰伦-别名-周董" 这条知识到本体库之前我们忽略了一个问题。在页面中 "中文名"、"外文名" 其实都是一些文本数据,而 "别名" 同样是其中一个 "文本" 而已。我们如何知道 "别名" 这个文本代表属性名? "别名" 这个文本难道不能是词条的简介吗?

其实这里还需要对本文数据进行语义标识,但是幸运的是已经有人帮我们做了,虽然不彻底,但是勉强能用,他就是 —— HTML 标签。

实际上 HTML 数据本身就可以视为一种半结构化数据,例如 Hello Coder! 标签就为文本 "Hello Coder!" 提供了语义,我们可以通过 </code> 标签识别出文本 "Hello Coder!" 是网页的标题。</p> <p>同理,我们可以通过 HTML 标签来标识页面中 "简介"、"基本信息"、"属性名" 等内容。例如百科中标签 <code><dt class="basicInfo-item name">中文名</dt></code> 标识属性名(如上文提到的中文名、外文名、别名等),<code><dd class="basicInfo-item value">周杰伦</dd></code> 标识属性值(如周杰伦、Jay Chou、周董等)。</p> <p>但是在我们采用 HTML 来标识文本时需要注意的是 HTML 本身主要是用来定义资源的表现结构、格式和样式的,另外用户可通过 HTML 来发布和获取信息。但是对数据本身进行语义标注并不是 HTML 的工作。</p> <p>如上提到的 <code><dt class="basicInfo-item name">中文名</dt></code> 标签其实也只是程序员为了更好的重用和分类样式,才在 dt 标签中加入 class 属性,而我们现在只是有点取巧的拿来当做文本的语义标注。所以必须意识到这种方式是存在很大局限性的,页面中极有可能存在 <code><dt class="basicInfo-item name">语义不明的一些文本</dt></code>,如果我们把该文本解释为属性名自然是有误的。但是幸运的是百度百科中这种情况较少,HTML 标签具有较强标识性,姑且可采用 HTML 标签来识别文本语义。</p> <p>在具体实现中,WebMagic 提供了 Xsoup(一款XPath解析器),Xsoup 可以让我们通过定义元素路径 Xpath,快速提取我们所想要的 HTML 数据。具体实现在下一篇中介绍。</p> <h2>一点补充: 语义网</h2> <p>其实在上述的分析过程中,你是否有这样的想法和思考。既然 HTML 描述万维网中资源的表现结构、格式和样式,那能不能创造一种语言来表达资源的语义?</p> <p>举一个栗子,如发布一段文本 "周杰伦(Jay Chou),1979年1月18日出生于台湾省新北市"。在发布时,我们可以使用 HTML 发布,那么就需要加上 <code><html></code>、<code><title></code>、<code><body></code> 等标签,为的是表达这段文本的表现格式和结构,这也是为了让人更容易阅读。但是如果我们在发布时也按照某种规范描述了这段文本中数据的语义,如 "Jay Chou" 是周杰伦的别名, "1979年1月18日" 是周杰伦的出生日期,"台湾省新北市" 是周杰伦的出生地,那么这将使得这段本文能够被计算机阅读和理解。每个资源发布者如果都能按照这种规范发布资源,那么资源网络不仅能够让人阅读和理解,也可以让机器阅读和理解。他不仅仅是资源的网络,同时也是知识的网络。Excited !</p> <p>实际上面所述便是语义网的概念,而语义网的提出者也正是万维网的发明者-蒂姆·伯纳斯·李。蒂姆·伯纳斯·李早在 1998 年就提出语义网,但是语义网的复杂度较高,距离真正的广泛工业应用还有一定的距离。感兴趣的同学可以查阅相关资料了解。</p> <p>但话又说回来,在语义网还未完全实现之前,我们面对的依然是无语义的万维网,我们能抓取的大部分网页是无语义的文本内容,那么对于这些网页或者说非结构化文本如何提取知识并构建本体库呢?其实这是目前学术界还在研究的问题,自然语言处理、机器学习等技术自然是该领域比较常见的解决方法,但是效果依然非常不理想。</p> <p>从严格意义上讲,从任意非结构化文本抽取出知识,这依然是当前技术无法实现的。试想一下,如果给定一段文本,计算机能够正确理解这段文本中每个数据背后的语义,这是多么恐怖的一件事,这从某种程度上讲意味着计算机真正具有了智能。</p> <p>而目前还没有什么技术和现象表明我们有能力创造出人工智能,这里的人工智能指强人工智能,也就是大众理解的人工智能。实际上我认为人工智能这个词就应该只能指强人工智能,现在的弱人工智能应该用另外的词来表达,比如机器智能?计算机智能?人工函数拟合?人工统计学习?......不然大众和专业领域关于人工智能这个词的理解一直存在着本质上的区别,讨论的都不是一个东西,还相互讨论的那么热烈......如今的 "人工智能" 就和当年的 "黑客" 一样,不同之处在于以前是大众和媒体滥用 "黑客",现在是专业领域人员滥用 "人工智能"......</p> <p>相对于利用所谓的 "人工智能" 实现从非结构化文本抽取知识,我还是更加看好实现语义网后推动机器智能的发展。</p> <h2>下一篇</h2> <p>下一篇真正开始介绍本体构建模块的实现细节。</p> <h2>汪</h2> <p>汪.</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1296104566844104704"></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">你可能感兴趣的:(3-Answer 系列-本体构建模块(二))</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1942337428962471936.htm" title="HarmonyOS开发秘籍:从监听系统变量到掌握AbilityStage回调" target="_blank">HarmonyOS开发秘籍:从监听系统变量到掌握AbilityStage回调</a> <span class="text-muted">大雨淅淅</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/HarmonyOS%E5%BC%80%E5%8F%91/1.htm">HarmonyOS开发</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a> <div>目录一、HarmonyOS开发新视野二、AbilityStage组件初相识(一)组件定义与作用(二)与Module的对应关系三、开发前的准备工作(一)创建AbilityStage文件步骤(二)导入依赖与配置文件四、监听系统环境变量变化实战(一)关键代码解析(二)回调函数触发机制五、AbilityStage其他回调函数探秘(一)onAcceptWant()(二)onMemoryLevel()(三)o</div> </li> <li><a href="/article/1942337298930659328.htm" title="【零基础学AI】第27讲:注意力机制(Attention) - 机器翻译实战" target="_blank">【零基础学AI】第27讲:注意力机制(Attention) - 机器翻译实战</a> <span class="text-muted">1989</span> <a class="tag" taget="_blank" href="/search/0%E5%9F%BA%E7%A1%80%E5%AD%A6AI/1.htm">0基础学AI</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E7%BF%BB%E8%AF%91/1.htm">机器翻译</a><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/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/tensorflow/1.htm">tensorflow</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a> <div>本节课你将学到理解注意力机制的核心思想掌握注意力计算的数学原理实现基于注意力机制的Seq2Seq模型构建英语到法语的神经翻译系统开始之前环境要求Python3.8+需要安装的包:tensorflow==2.8.0numpy==1.21.0matplotlib==3.4.0pandas==1.3.0前置知识RNN/LSTM原理(第26讲)序列数据处理(第26讲)自然语言处理基础(第14讲)核心概念为</div> </li> <li><a href="/article/1942335913833066496.htm" title="TensorFlow图神经网络(GNN)入门指南" target="_blank">TensorFlow图神经网络(GNN)入门指南</a> <span class="text-muted">AI天才研究院</span> <a class="tag" taget="_blank" href="/search/AI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E4%B8%8E%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">AI人工智能与大数据</a><a class="tag" taget="_blank" href="/search/tensorflow/1.htm">tensorflow</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/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/ai/1.htm">ai</a> <div>TensorFlow图神经网络(GNN)入门指南关键词:TensorFlow、图神经网络、GNN、深度学习、图数据、节点嵌入、图卷积网络摘要:本文全面介绍如何使用TensorFlow实现图神经网络(GNN)。我们将从图数据的基本概念开始,深入探讨GNN的核心原理,包括图卷积网络(GCN)、图注意力网络(GAT)等流行架构,并通过TensorFlow代码示例展示如何构建和训练GNN模型。文章还将涵盖</div> </li> <li><a href="/article/1942335284146401280.htm" title="STM32串口DMA方式向上位机连续发送接收数据" target="_blank">STM32串口DMA方式向上位机连续发送接收数据</a> <span class="text-muted">Justinlevy</span> <a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/arm/1.htm">arm</a> <div>目录一、DMA初步应用1、DMA含义2、DMA传输四要素3、使用区别4、DMA的应用场景5、DMA传输方式6、DMA中断二、创建项目1、STM32CubeMX创建1.1设置SYS1.2设置RCC1.3设置USART1.4DMA设置1.5时钟设置1.6文件配置2、KEIL代码配置2.1main.c文件代码2.2while循环中代码2.3编译烧录2.4运行结果三、DMA总结四、参考一、DMA初步应用1</div> </li> <li><a href="/article/1942332637972590592.htm" title=".NET9 实现字符串拼接(StringConcatenation)性能测试" target="_blank">.NET9 实现字符串拼接(StringConcatenation)性能测试</a> <span class="text-muted">ChaITSimpleLove</span> <a class="tag" taget="_blank" href="/search/.NET/1.htm">.NET</a><a class="tag" taget="_blank" href="/search/%E8%B7%A8%E5%B9%B3%E5%8F%B0/1.htm">跨平台</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/string/1.htm">string</a><a class="tag" taget="_blank" href="/search/%E6%8B%BC%E6%8E%A5/1.htm">拼接</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%8B%BC%E6%8E%A5/1.htm">字符串拼接</a><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/BenchmarkTest/1.htm">BenchmarkTest</a><a class="tag" taget="_blank" href="/search/csharp/1.htm">csharp</a> <div>为了评估.NET9平台上使用C#中不同字符串拼接操作的性能表现,我们可以使用BenchmarkDotNet这一强大的开源库来构建科学且可重复的基准测试。BenchmarkDotNet能够自动处理诸如JIT编译、预热(Warm-up)、运行次数控制、统计误差分析等底层细节,确保测试结果具有高度准确性与可比性。在.NET9中,使用C#字符串拼接的常见方式包括:使用+运算符使用string.Concat</div> </li> <li><a href="/article/1942332511564656640.htm" title="构建未来交互体验:AG-UI 如何赋能智能体与前端通信?" target="_blank">构建未来交互体验:AG-UI 如何赋能智能体与前端通信?</a> <span class="text-muted">ChaITSimpleLove</span> <a class="tag" taget="_blank" href="/search/AG-UI/1.htm">AG-UI</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E4%BD%93%E4%B8%8E%E7%94%A8%E6%88%B7%E4%BA%A4%E4%BA%92%E5%8D%8F%E8%AE%AE/1.htm">智能体与用户交互协议</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E4%BD%93%E4%B8%8E%E7%94%A8%E6%88%B7%E4%BA%A4%E4%BA%92%E6%A0%87%E5%87%86%E5%8C%96/1.htm">智能体与用户交互标准化</a><a class="tag" taget="_blank" href="/search/CopilotKit/1.htm">CopilotKit</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%94%BE%E7%9A%84/1.htm">开放的</a><a class="tag" taget="_blank" href="/search/%E8%BD%BB%E9%87%8F%E7%9A%84/1.htm">轻量的</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E4%BA%8E%E4%BA%8B%E4%BB%B6%E7%9A%84%E5%8D%8F%E8%AE%AE/1.htm">基于事件的协议</a> <div>目录什么是AG-UI?⚙️AG-UI主要解决什么问题?AG-UI介绍️核心组件1.协议层(ProtocolLayer)2.标准HTTP客户端(StandardHTTPClient)3.消息类型(MessageType)4.运行Agent(RunningAgent)5.状态管理(StateManagement)️6.工具和交接(ToolsandHandoff)事件(Events)MCPvsA2Avs</div> </li> <li><a href="/article/1942331755549749248.htm" title="深入解析HarmonyOS5 UIAbility组件:从核心架构到实战应用" target="_blank">深入解析HarmonyOS5 UIAbility组件:从核心架构到实战应用</a> <span class="text-muted">颜颜yan_</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E7%B3%BB%E7%BB%9F/1.htm">鸿蒙系统</a> <div>⭐本期内容:深入解析HarmonyOS5UIAbility组件:从核心架构到实战应用系列专栏:鸿蒙HarmonyOS:探索未来智能生态新纪元文章目录前言核心定位架构特性分析系统调度的基本单元灵活的多实例架构实际应用场景——智能办公应用综合案例详细的架构设计思路解析总结前言在万物互联的智能时代,HarmonyOS作为面向全场景的分布式操作系统,其独特的架构设计为开发者提供了前所未有的开发体验。其中,</div> </li> <li><a href="/article/1942328351653949440.htm" title="响应式编程入门教程第二节:构建 ObservableProperty<T> — 封装 ReactiveProperty 的高级用法" target="_blank">响应式编程入门教程第二节:构建 ObservableProperty<T> — 封装 ReactiveProperty 的高级用法</a> <span class="text-muted">枯萎穿心攻击</span> <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/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a> <div>响应式编程入门教程第一节:揭秘UniRx核心-ReactiveProperty-让你的数据动起来!-CSDN博客响应式编程入门教程第二节:构建ObservableProperty<T>—封装ReactiveProperty的高级用法-CSDN博客在上一篇中,我们详细探讨了UniRx的核心组件ReactiveProperty,了解了它如何让数据变化自动通知订阅者,从而简化了数据绑定和状态管理。Rea</div> </li> <li><a href="/article/1942328099467227136.htm" title="Oracle数据库对象与模式设计" target="_blank">Oracle数据库对象与模式设计</a> <span class="text-muted"></span> <div>关键词:Oracle数据库设计、表结构、约束、索引优化、视图、序列、分区表✅摘要在企业级数据库开发中,良好的数据库对象设计和模式规划是构建高性能、可维护系统的基础。Oracle提供了丰富的数据库对象支持复杂业务场景,包括:表结构与完整性约束索引类型选择与性能调优视图、序列、同义词等辅助对象分区表提升查询效率一、表结构与约束1.创建表(CREATETABLE)与数据类型Oracle支持多种数据类型,</div> </li> <li><a href="/article/1942327592468148224.htm" title="SQL多个字段拼接组合成新字段的常用方法" target="_blank">SQL多个字段拼接组合成新字段的常用方法</a> <span class="text-muted">m0_74823878</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</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/oracle/1.htm">oracle</a> <div>前言:在sql语句中,有时候我们可能需要将两个字段的值放在一起显示,因为他们通常是一起出现的,比如客户名称和客户编号,那我们就要将这两个字段拼接成一个字段。下面是几种常见的方法:一、CONCAT()函数SELECTCONCAT(column1,column2)ASconcatenated_columnFROMyour_table;二、“||”运算符SELECTcolumn1||column2ASc</div> </li> <li><a href="/article/1942326079704330240.htm" title="算法 堆与堆排序" target="_blank">算法 堆与堆排序</a> <span class="text-muted"></span> <div>堆的定义与分类堆是一种特殊的完全二叉树,通常分为两种类型:大顶堆(大根堆):每个节点的值都大于或等于其子节点的值。小顶堆(小根堆):每个节点的值都小于或等于其子节点的值。堆的性质结构性:堆是一棵完全二叉树,即除了最后一层外,其他层的节点都是满的,且最后一层的节点从左到右填充。有序性:堆中每个节点的值都满足特定的顺序关系(大于或小于子节点)。堆的存储数组索引0通常作为堆的根节点。对于索引为i的节点,</div> </li> <li><a href="/article/1942324566814683136.htm" title="React——基础" target="_blank">React——基础</a> <span class="text-muted">贵沫末</span> <a class="tag" taget="_blank" href="/search/react.js/1.htm">react.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/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a> <div>文章目录React基础一、基础概念二、组件化三、状态四、属性五、项目初始化六、jsx七、创建React组件的两种方式函数式组件(推荐)类组件(不推荐)八、常用的hooks1、useState:用来修改状态值2、useReducer:用来修改状态值,比useState更适合处理复杂逻辑3、useContext:传递数据4、useMemo:缓存计算结果5、useCallback:缓存函数6、useEf</div> </li> <li><a href="/article/1942324440406749184.htm" title="【LeetCode 热题 100】48. 旋转图像——转置+水平翻转" target="_blank">【LeetCode 热题 100】48. 旋转图像——转置+水平翻转</a> <span class="text-muted">xumistore</span> <a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>Problem:48.旋转图像题目:给定一个n×n的二维矩阵matrix表示一个图像。请你将图像顺时针旋转90度。你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。文章目录整体思路完整代码时空复杂度时间复杂度:O(N^2)空间复杂度:O(1)整体思路这段代码旨在解决一个经典的矩阵问题:旋转图像(RotateImage)。问题要求将一个NxN的二维矩阵顺时针</div> </li> <li><a href="/article/1942321918522748928.htm" title="LangChain核心组件全解析" target="_blank">LangChain核心组件全解析</a> <span class="text-muted">北辰alk</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a> <div>文章目录一、核心架构组件1.模型I/O(ModelI/O)2.检索(Retrieval)3.记忆(Memory)4.链(Chains)5.代理(Agents)二、关键支持组件1.回调系统(Callbacks)2.文档加载器(DocumentLoaders)3.文本分割器(TextSplitters)4.向量存储(VectorStores)三、高级架构组件1.工具集成(Tools)2.工作流(Wor</div> </li> <li><a href="/article/1942321664855437312.htm" title="机器学习笔记二-回归" target="_blank">机器学习笔记二-回归</a> <span class="text-muted"></span> <div>回归是统计学和机器学习中的一种基本方法,用于建模变量之间的关系,特别是用一个或多个自变量(输入变量)来预测一个因变量(输出变量)的值。回归分析广泛应用于预测、趋势分析和关联研究中。根据目标和数据的性质,可以使用不同类型的回归方法。1.回归的基本概念:自变量(IndependentVariable):也称为预测变量、解释变量,是模型中的输入变量,用于预测或解释因变量的变化。因变量(Dependent</div> </li> <li><a href="/article/1942320405456941056.htm" title="AI LLM架构与原理 - 预训练模型深度解析" target="_blank">AI LLM架构与原理 - 预训练模型深度解析</a> <span class="text-muted">陈乔布斯</span> <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><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a> <div>一、引言在人工智能领域,大型语言模型(LLM)的发展日新月异,预训练模型作为LLM的核心技术,为模型的强大性能奠定了基础。预训练模型通过在大规模无标注数据上进行学习,能够捕捉语言的通用模式和语义信息,从而在各种自然语言处理任务中展现出卓越的能力。本文将深入探讨AILLM架构与原理中预训练模型的方法论和技术,结合图解、代码解析和实际案例,为读者呈现一个全面且易懂的预训练模型图景。二、预训练模型的基本</div> </li> <li><a href="/article/1942319019335938048.htm" title="php协程,PHP协程" target="_blank">php协程,PHP协程</a> <span class="text-muted">刘保池</span> <a class="tag" taget="_blank" href="/search/php%E5%8D%8F%E7%A8%8B/1.htm">php协程</a> <div>1.什么是协程先搞清楚,什么是协程。你可能已经听过『进程』和『线程』这两个概念。进程就是二进制可执行文件在计算机内存里的一个运行实例,就好比你的.exe文件是个类,进程就是new出来的那个实例。进程是计算机系统进行资源分配和调度的基本单位(调度单位这里别纠结线程进程的),每个CPU下同一时刻只能处理一个进程。所谓的并行,只不过是看起来并行,CPU事实上在用很快的速度切换不同的进程。进程的切换需要进</div> </li> <li><a href="/article/1942317629943377920.htm" title="单片机:实现国密SM2算法(附完整源码)" target="_blank">单片机:实现国密SM2算法(附完整源码)</a> <span class="text-muted">源代码大师</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA%E5%AE%9E%E6%88%98%E6%95%99%E7%A8%8B/1.htm">单片机实战教程</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/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%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a> <div>单片机:实现国密SM2算法主要功能模块1.定义椭圆曲线参数2.大数运算(示例:大数比较)3.椭圆曲线点定义4.密钥生成5.加密与解密注意事项实现国密SM2算法在单片机上的完整源码涉及多个模块,包括椭圆曲线运算、SM3哈希函数、密钥生成、加密解密以及签名验证等。以下是一个基于C语言的简化版SM2实现示例,适用于资源有限的单片机环境。请注意,实际应用中可能需要根据具体单片机的性能和资源进行优化。主要功</div> </li> <li><a href="/article/1942316748652998656.htm" title="[创业之路-475]:企业经营层 - 苏超的火爆与小米成功背后的商业模式共同性观察" target="_blank">[创业之路-475]:企业经营层 - 苏超的火爆与小米成功背后的商业模式共同性观察</a> <span class="text-muted">文火冰糖的硅基工坊</span> <a class="tag" taget="_blank" href="/search/%E5%88%9B%E4%B8%9A%E4%B9%8B%E8%B7%AF/1.htm">创业之路</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E6%9E%84/1.htm">重构</a><a class="tag" taget="_blank" href="/search/%E5%88%9B%E4%B8%9A/1.htm">创业</a><a class="tag" taget="_blank" href="/search/%E4%B8%9A%E5%8A%A1/1.htm">业务</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E8%90%A5/1.htm">经营</a> <div>苏超的火爆与小米成功背后的商业模式共同性在于二者均通过“群众参与+生态联动+文化赋能”构建了可持续的商业循环,具体体现在以下三个层面:一、群众参与:从“小众狂欢”到“全民共创”苏超的草根基因非职业化参赛:每支队伍职业运动员不超过3人,500余名球员来自各行各业(如公司职员、教师、大学生),年龄跨度16-40岁,彻底打破“专业壁垒”,让足球回归大众运动本质。低门槛观赛:票价亲民,第五轮场均现场观战人</div> </li> <li><a href="/article/1942313725209931776.htm" title="PEFT(参数高效微调)技术全面解析:原理、方法与实战应用" target="_blank">PEFT(参数高效微调)技术全面解析:原理、方法与实战应用</a> <span class="text-muted"></span> <div>文章目录一、PEFT核心概念解析1.1PEFT技术定义1.2与传统微调的对比二、为什么需要PEFT技术?2.1大模型时代的核心挑战2.2PEFT的核心优势三、主流PEFT方法技术剖析3.1代表性PEFT方法对比3.2关键技术实现细节3.2.1LoRA(Low-RankAdaptation)3.2.2Adapter模块3.3性能对比基准四、PEFT实战应用指南4.1使用HuggingFacePEFT</div> </li> <li><a href="/article/1942313725683888128.htm" title="深度学习微调中的优化器全景解析:从理论到实践" target="_blank">深度学习微调中的优化器全景解析:从理论到实践</a> <span class="text-muted">北辰alk</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>文章目录一、基础优化器:深度学习微调的基石1.1随机梯度下降(SGD)1.2AdaGrad(自适应梯度算法)二、自适应优化器:现代深度学习的标配2.1RMSProp2.2Adam(自适应矩估计)三、大模型微调专用优化器3.1LAMB(Layer-wiseAdaptiveMoments)3.2Sophia(二阶优化启发)四、优化器性能对比研究4.1在GLUE基准上的表现(BERT-base微调)4.</div> </li> <li><a href="/article/1942310192918097920.htm" title="Python: 包" target="_blank">Python: 包</a> <span class="text-muted"></span> <div>一、Python包基础概念1.1什么是Python包Python包(Package)是一种组织Python模块的方式,它使用目录结构来组织相关的模块。一个包本质上是一个包含__init__.py文件的目录,该文件可以是空的,也可以包含包的初始化代码。my_package/├──__init__.py├──module1.py└──module2.py1.2包与模块的区别模块(Module):单个.</div> </li> <li><a href="/article/1942310193341722624.htm" title="PyTorch 详细安装教程及核心API使用指南" target="_blank">PyTorch 详细安装教程及核心API使用指南</a> <span class="text-muted">慕婉0307</span> <a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</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/python/1.htm">python</a> <div>一、PyTorch简介PyTorch是由FacebookAIResearch(FAIR)于2016年开发的开源深度学习框架,现已成为学术界和工业界最受欢迎的深度学习工具之一。其核心优势在于采用了动态计算图(DynamicComputationGraph,又称"define-by-run"机制),这使得开发者能够像编写普通Python代码一样构建神经网络,并在运行时动态调整计算图结构,大大提高了研究</div> </li> <li><a href="/article/1942302376933257216.htm" title="Python: 正则表达式" target="_blank">Python: 正则表达式</a> <span class="text-muted">慕婉0307</span> <a class="tag" taget="_blank" href="/search/python%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E7%82%B9/1.htm">python基础知识点</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a> <div>正则表达式是处理文本数据的强大工具,Python通过re模块提供了完整的正则表达式功能。本文将详细介绍Python正则表达式的使用方法,包括基础语法、高级技巧和re模块API的详细解析。一、正则表达式基础1.1什么是正则表达式正则表达式(RegularExpression)是一种用于匹配字符串中字符组合的模式,可以用于搜索、替换和验证文本数据。1.2Python中的re模块Python通过内置的r</div> </li> <li><a href="/article/1942301621488775168.htm" title="探究 Java SPI 原理与实战_打造高扩展性的应用架构" target="_blank">探究 Java SPI 原理与实战_打造高扩展性的应用架构</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/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/SPI/1.htm">SPI</a> <div>1.引言1.1为什么需要模块化与扩展性设计在大型软件系统中,良好的架构设计是至关重要的。模块化和可扩展性设计使得我们能够:将功能划分为独立的模块;在不修改原有代码的前提下引入新功能;实现松耦合、高内聚的设计目标。Java提供了多种机制来支持这种设计,其中SPI(ServiceProviderInterface)是一种轻量级的服务发现机制,广泛用于构建插件化系统。1.2Java中的常见扩展机制概述扩</div> </li> <li><a href="/article/1942298975201718272.htm" title="OpenSSL 与 OpenSSH 离线升级至最新版本 9.9p2" target="_blank">OpenSSL 与 OpenSSH 离线升级至最新版本 9.9p2</a> <span class="text-muted"></span> <div>OpenSSL与OpenSSH离线升级至最新版本9.9p2一、前言在网络安全日益重要的今天,保持系统中的OpenSSL和OpenSSH为最新版本是至关重要的。然而,在一些内网环境中,由于网络限制,无法直接从互联网上下载最新的软件包进行升级。本文将详细介绍如何在离线环境下将OpenSSL和OpenSSH升级到最新版本9.9p2。二、准备工作2.1下载所需软件包https://wwyq.lanzouo</div> </li> <li><a href="/article/1942298975616954368.htm" title="MySQL(118)如何使用SSL进行加密连接?" target="_blank">MySQL(118)如何使用SSL进行加密连接?</a> <span class="text-muted"></span> <div>使用SSL进行加密连接可以有效地保护数据在传输过程中的安全性,防止数据被窃取或篡改。下面我们将详细介绍如何在Java应用中使用SSL与MySQL数据库建立加密连接。一.准备工作在开始之前,请确保你已经安装了MySQL,并且有Java开发环境(如JDK和Maven)。二.生成SSL证书生成自签名证书:你可以使用OpenSSL工具来生成自签名证书。以下是生成CA证书、服务器证书和客户端证书的步骤。#生</div> </li> <li><a href="/article/1942298218155012096.htm" title="C#企业级API版本控制实战:构建可扩展的微服务架构" target="_blank">C#企业级API版本控制实战:构建可扩展的微服务架构</a> <span class="text-muted">墨夶</span> <a class="tag" taget="_blank" href="/search/C%23%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99/1.htm">C#学习资料</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a> <div>第一章:企业级API版本控制的生死时速1.1版本控制的三重门//版本控制决策树publicenumVersionControlStrategy{[Description("URI路径版本控制")]UriPath=1,[Description("自定义HTTP头版本控制")]CustomHeader=2,[Description("Accept媒体类型版本控制")]MediaType=3}publi</div> </li> <li><a href="/article/1942296830096240640.htm" title="Story2:自动化免密登录CSDN和百度+Spring AI文档,并进行页签切换" target="_blank">Story2:自动化免密登录CSDN和百度+Spring AI文档,并进行页签切换</a> <span class="text-muted"></span> <div>开发环境搭建以及前期回顾请移步至CSDN自动写博客系列(总)一、整体方案构思,文字描述:1、CSDN免密登录,参考Story1:自动化_CSDN免密登录2、百度免密登录,原理同CSDN免密登录,但是这里注意一下:(1)百度免密登录扫码获取cookie用的是百度APP,请下载好百度APP进行扫描(2)在实现百度免密登录的时候会碰到一个问题,当添加百度cookie的时候,原CSDN的cookie是已经</div> </li> <li><a href="/article/1942296830511476736.htm" title="Spring for kafka系列——1、快速浏览" target="_blank">Spring for kafka系列——1、快速浏览</a> <span class="text-muted">虾条_花吹雪</span> <a class="tag" taget="_blank" href="/search/Spring/1.htm">Spring</a><a class="tag" taget="_blank" href="/search/for/1.htm">for</a><a class="tag" taget="_blank" href="/search/Apache/1.htm">Apache</a><a class="tag" taget="_blank" href="/search/Kafka/1.htm">Kafka</a><a class="tag" taget="_blank" href="/search/Spring/1.htm">Spring</a><a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a> <div>先决条件:您必须安装并运行ApacheKafka。然后,您必须将SpringforApacheKafka(SpringKafka)JAR及其所有依赖项放在类路径上。最简单的方法是在构建工具中声明依赖关系。如果您没有使用SpringBoot,请在项目中将Springkafka-jar声明为依赖项。org.springframework.kafkaspring-kafka3.3.7使用SpringBo</div> </li> <li><a href="/article/37.htm" title="ASM系列五 利用TreeApi 解析生成Class" target="_blank">ASM系列五 利用TreeApi 解析生成Class</a> <span class="text-muted">lijingyao8206</span> <a class="tag" taget="_blank" href="/search/ASM/1.htm">ASM</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E8%8A%82%E7%A0%81%E5%8A%A8%E6%80%81%E7%94%9F%E6%88%90/1.htm">字节码动态生成</a><a class="tag" taget="_blank" href="/search/ClassNode/1.htm">ClassNode</a><a class="tag" taget="_blank" href="/search/TreeAPI/1.htm">TreeAPI</a> <div>   前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。          在介绍前,先要知道一点, Tree工程的接口基本可以完</div> </li> <li><a href="/article/164.htm" title="链表树——复合数据结构应用实例" target="_blank">链表树——复合数据结构应用实例</a> <span class="text-muted">bardo</span> <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/%E6%A0%91%E5%9E%8B%E7%BB%93%E6%9E%84/1.htm">树型结构</a><a class="tag" taget="_blank" href="/search/%E8%A1%A8%E7%BB%93%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">表结构设计</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a><a class="tag" taget="_blank" href="/search/%E8%8F%9C%E5%8D%95%E6%8E%92%E5%BA%8F/1.htm">菜单排序</a> <div>我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。 需求简介: 经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后</div> </li> <li><a href="/article/291.htm" title="为啥要用位运算代替取模呢" target="_blank">为啥要用位运算代替取模呢</a> <span class="text-muted">chenchao051</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/%E5%93%88%E5%B8%8C/1.htm">哈希</a><a class="tag" taget="_blank" href="/search/%E6%B1%87%E7%BC%96/1.htm">汇编</a> <div>    在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,     JDK6中的HashMap中的indexFor方法: /** * Returns index for hash code h. */ static int indexFor(int h, int length) { </div> </li> <li><a href="/article/418.htm" title="最近的情况" target="_blank">最近的情况</a> <span class="text-muted">麦田的设计者</span> <a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a><a class="tag" taget="_blank" href="/search/%E6%84%9F%E6%82%9F/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/%E8%BD%AF%E8%80%83/1.htm">软考</a><a class="tag" taget="_blank" href="/search/%E6%83%B3/1.htm">想</a> <div>      今天是2015年4月27号      整理一下最近的思绪以及要完成的任务             1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为</div> </li> <li><a href="/article/545.htm" title="PHP去掉字符串中最后一个字符的方法" target="_blank">PHP去掉字符串中最后一个字符的方法</a> <span class="text-muted">IT独行者</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2/1.htm">字符串</a> <div>今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下: $str = "1,2,3,4,5,6,"; $newstr = substr($str,0,strlen($str)-1); echo $newstr; </div> </li> <li><a href="/article/672.htm" title="hadoop在linux上单机安装过程" target="_blank">hadoop在linux上单机安装过程</a> <span class="text-muted">_wy_</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>1、安装JDK     jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:    export JAVA_HOME=/usr/java/jdk1.7.0_25  </div> </li> <li><a href="/article/799.htm" title="JAVA进阶----分布式事务的一种简单处理方法" target="_blank">JAVA进阶----分布式事务的一种简单处理方法</a> <span class="text-muted">无量</span> <a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%B3%BB%E7%BB%9F%E4%BA%A4%E4%BA%92/1.htm">多系统交互</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1/1.htm">事务</a> <div>每个方法都是原子操作: 提供第三方服务的系统,要同时提供执行方法和对应的回滚方法 A系统调用B,C,D系统完成分布式事务 =========执行开始======== A.aa(); try { B.bb(); } catch(Exception e) { A.rollbackAa(); } try { C.cc(); } catch(Excep</div> </li> <li><a href="/article/926.htm" title="安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉" target="_blank">安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉</a> <span class="text-muted">矮蛋蛋</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/%E4%BA%92%E8%81%94%E7%BD%91/1.htm">互联网</a> <div>  “谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。   到底什么是移动DSP呢?   DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广 </div> </li> <li><a href="/article/1053.htm" title="myelipse设置" target="_blank">myelipse设置</a> <span class="text-muted">alafqq</span> <a class="tag" taget="_blank" href="/search/IP/1.htm">IP</a> <div>  在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。 注释模板导入步骤  安装方法: 打开eclipse/myeclipse 选择 window-->Preferences-->JAVA-->Code-->Code </div> </li> <li><a href="/article/1180.htm" title="java数组" target="_blank">java数组</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/java%E6%95%B0%E7%BB%84/1.htm">java数组</a> <div>java数组的   声明  创建  初始化;   java支持C语言      数组中的每个数都有唯一的一个下标 一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3] int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数 </div> </li> <li><a href="/article/1307.htm" title="javascript读取表单数据" target="_blank">javascript读取表单数据</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>利用javascript读取表单数据,可以利用以下三种方法获取: 1、通过表单ID属性:var a = document.getElementByIdx_x_x("id"); 2、通过表单名称属性:var b = document.getElementsByName("name"); 3、直接通过表单名字获取:var c = form.content.</div> </li> <li><a href="/article/1434.htm" title="探索JUnit4扩展:使用Theory" target="_blank">探索JUnit4扩展:使用Theory</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/JUnit/1.htm">JUnit</a><a class="tag" taget="_blank" href="/search/Theory/1.htm">Theory</a> <div>理论机制(Theory) 一.为什么要引用理论机制(Theory)         当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。 TDD 的优点:     &nb</div> </li> <li><a href="/article/1561.htm" title="[Spring Data Mongo一]Spring Mongo Template操作MongoDB" target="_blank">[Spring Data Mongo一]Spring Mongo Template操作MongoDB</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/template/1.htm">template</a> <div>什么是Spring Data Mongo Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括 1. 封装客户端跟MongoDB的链接管理 2. 文档-对象映射,通过注解:@Document(collectio</div> </li> <li><a href="/article/1688.htm" title="【Kafka八】Zookeeper上关于Kafka的配置信息" target="_blank">【Kafka八】Zookeeper上关于Kafka的配置信息</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>问题: 1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置 3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里 4. Producer跟Zookeeper究竟有没有关系?没有关系!!!   //consumers、config、brokers、cont</div> </li> <li><a href="/article/1815.htm" title="java OOM内存异常的四种类型及异常与解决方案" target="_blank">java OOM内存异常的四种类型及异常与解决方案</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/java+OOM+%E5%86%85%E5%AD%98%E5%BC%82%E5%B8%B8/1.htm">java OOM 内存异常</a> <div>       OOM异常的四种类型:       一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。        二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx</div> </li> <li><a href="/article/1942.htm" title="java-实现链表反转-递归和非递归实现" target="_blank">java-实现链表反转-递归和非递归实现</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>20120422更新: 对链表中部分节点进行反转操作,这些节点相隔k个: 0->1->2->3->4->5->6->7->8->9 k=2 8->1->6->3->4->5->2->7->0->9 注意1 3 5 7 9 位置是不变的。 解法: 将链表拆成两部分: a.0-&</div> </li> <li><a href="/article/2069.htm" title="Netty源码学习-DelimiterBasedFrameDecoder" target="_blank">Netty源码学习-DelimiterBasedFrameDecoder</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/netty/1.htm">netty</a> <div> 看DelimiterBasedFrameDecoder的API,有举例: 接收到的ChannelBuffer如下: +--------------+ | ABC\nDEF\r\n | +--------------+ 经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到: +-----+----</div> </li> <li><a href="/article/2196.htm" title="linux的一些命令 -查看cc攻击-网口ip统计等" target="_blank">linux的一些命令 -查看cc攻击-网口ip统计等</a> <span class="text-muted">hotsunshine</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>Linux判断CC攻击命令详解 2011年12月23日 ⁄ 安全 ⁄ 暂无评论 查看所有80端口的连接数 netstat -nat|grep -i '80'|wc -l 对连接的IP按连接数量进行排序 netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 查看TCP连接状态 n</div> </li> <li><a href="/article/2323.htm" title="Spring获取SessionFactory" target="_blank">Spring获取SessionFactory</a> <span class="text-muted">ctrain</span> <a class="tag" taget="_blank" href="/search/sessionFactory/1.htm">sessionFactory</a> <div> String sql = "select sysdate from dual"; WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext(); String[] names = wac.getBeanDefinitionNames(); for(int i=0; i&</div> </li> <li><a href="/article/2450.htm" title="Hive几种导出数据方式" target="_blank">Hive几种导出数据方式</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%87%BA/1.htm">数据导出</a> <div>Hive几种导出数据方式   1.拷贝文件   如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。 hadoop fs –cp source_path target_path   2.导出到本地文件系统   --不能使用insert into local directory来导出数据,会报错 --只能使用</div> </li> <li><a href="/article/2577.htm" title="编程之美" target="_blank">编程之美</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E6%9E%84/1.htm">重构</a> <div>我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解   header("Content-type: text/plain"); function static_function () { static $i = 0; if ($i++ < 1</div> </li> <li><a href="/article/2704.htm" title="Android保存用户名和密码" target="_blank">Android保存用户名和密码</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>转自:http://www.2cto.com/kf/201401/272336.html 我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码 1、通过普通 的txt文本存储 2、通过properties属性文件进行存</div> </li> <li><a href="/article/2831.htm" title="Oracle 复习笔记之同义词" target="_blank">Oracle 复习笔记之同义词</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/Oracle+%E5%90%8C%E4%B9%89%E8%AF%8D/1.htm">Oracle 同义词</a><a class="tag" taget="_blank" href="/search/Oracle+synonym/1.htm">Oracle synonym</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2098861 1.什么是同义词       同义词是现有模式对象的一个别名。       概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过</div> </li> <li><a href="/article/2958.htm" title="Ajax案例" target="_blank">Ajax案例</a> <span class="text-muted">gongmeitao</span> <a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a> <div>数据库采用Sql Server2005 项目名称为:Ajax_Demo 1.com.demo.conn包 package com.demo.conn; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; //获取数据库连接的类public class DBConnec</div> </li> <li><a href="/article/3085.htm" title="ASP.NET中Request.RawUrl、Request.Url的区别" target="_blank">ASP.NET中Request.RawUrl、Request.Url的区别</a> <span class="text-muted">hvt</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a> <div>  如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&</div> </li> <li><a href="/article/3212.htm" title="SVG 教程 (七)SVG 实例,SVG 参考手册" target="_blank">SVG 教程 (七)SVG 实例,SVG 参考手册</a> <span class="text-muted">天梯梦</span> <a class="tag" taget="_blank" href="/search/svg/1.htm">svg</a> <div>SVG 实例 在线实例 下面的例子是把SVG代码直接嵌入到HTML代码中。 谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。 注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。   SVG 实例 SVG基本形状 一个圆 矩形 不透明矩形 一个矩形不透明2 一个带圆角矩</div> </li> <li><a href="/article/3339.htm" title="事务管理" target="_blank">事务管理</a> <span class="text-muted">luyulong</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/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1/1.htm">事务</a> <div>事物管理 spring事物的好处 为不同的事物API提供了一致的编程模型 支持声明式事务管理 提供比大多数事务API更简单更易于使用的编程式事务管理API 整合spring的各种数据访问抽象 TransactionDefinition 定义了事务策略 int getIsolationLevel()得到当前事务的隔离级别 READ_COMMITTED </div> </li> <li><a href="/article/3466.htm" title="基础数据结构和算法十一:Red-black binary search tree" target="_blank">基础数据结构和算法十一:Red-black binary search tree</a> <span class="text-muted">sunwinner</span> <a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/Red-black/1.htm">Red-black</a> <div>  The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known</div> </li> <li><a href="/article/3593.htm" title="centos同步时间" target="_blank">centos同步时间</a> <span class="text-muted">stunizhengjia</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%BE%A4%E5%90%8C%E6%AD%A5%E6%97%B6%E9%97%B4/1.htm">集群同步时间</a> <div>做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o</div> </li> <li><a href="/article/3720.htm" title="ITeye 9月技术图书有奖试读获奖名单公布" target="_blank">ITeye 9月技术图书有奖试读获奖名单公布</a> <span class="text-muted">ITeye管理员</span> <a class="tag" taget="_blank" href="/search/ITeye/1.htm">ITeye</a> <div>ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):      《NFC:Arduino、Andro</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>