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/1950233072825856000.htm" title="三菱PLC全套学习资料及应用手册" target="_blank">三菱PLC全套学习资料及应用手册</a> <span class="text-muted">good2know</span> <div>本文还有配套的精品资源,点击获取简介:三菱PLC作为工业自动化领域的核心设备,其系列产品的学习和应用需要全面深入的知识。本次资料包为学习者提供从基础到进阶的全方位学习资源,包括各种型号PLC的操作手册、编程指南、软件操作教程以及实际案例分析,旨在帮助用户系统掌握PLC的编程语言、指令系统及在各类工业应用中的实施。1.三菱PLC基础知识入门1.1PLC的基本概念可编程逻辑控制器(PLC)是工业自动化</div> </li> <li><a href="/article/1950233040592629760.htm" title="2022-10-20" target="_blank">2022-10-20</a> <span class="text-muted">体力劳动者</span> <div>不因感觉稍纵即逝就不加记录。在女儿睡觉后我记下今天的小故事。接手新班级后,今天是第二次收到家长的感谢信(微信)。是我表扬次数最多的两位学生家长致来的感谢,他们明显感受到孩子自信、阳光了不少,写作业由被动变为了主动,家庭氛围也由鸡飞狗跳变成了其乐融融。在被顽皮的学生气得头晕之后,我感到了久违的价值感,责任感甚至使命感,我回复家长这样一句话:我们也需要家长的反馈好让我们的教育工作更有劲头。我也认识到,</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/1950232782412247040.htm" title="日更006 终极训练营day3" target="_blank">日更006 终极训练营day3</a> <span class="text-muted">懒cici</span> <div>人生创业课(2)今天的主题:学习方法一:遇到有用的书,反复读,然后结合自身实际,列践行清单,不要再写读书笔记思考这本书与我有什么关系,我在哪些地方能用到,之后我该怎么用方法二:读完书没映像怎么办?训练你的大脑,方法:每读完一遍书,立马合上书,做一场分享,几分钟都行对自己的学习要求太低,要逼自己方法三:学习深度不够怎么办?找到细分领域的榜样,把他们的文章、书籍、产品都体验一遍,成为他们的超级用户,向</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/1950232190038110208.htm" title="day15|前端框架学习和算法" target="_blank">day15|前端框架学习和算法</a> <span class="text-muted">universe_01</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/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%AC%94%E8%AE%B0/1.htm">笔记</a> <div>T22括号生成先把所有情况都画出来,然后(在满足什么情况下)把不符合条件的删除。T78子集要画树状图,把思路清晰。可以用暴力法、回溯法和DFS做这个题DFS深度搜索:每个边都走完,再回溯应用:二叉树搜索,图搜索回溯算法=DFS+剪枝T200岛屿数量(非常经典BFS宽度把树状转化成队列形式,lambda匿名函数“一次性的小函数,没有名字”setup语法糖:让代码更简洁好写的语法ref创建:基本类型的</div> </li> <li><a href="/article/1950230873060208640.htm" title="你要记住,最重要的是:随时做好准备,为了你可能成为更好的自己,放弃现在的自己。" target="_blank">你要记住,最重要的是:随时做好准备,为了你可能成为更好的自己,放弃现在的自己。</a> <span class="text-muted">霖霖z</span> <div>打卡人:周云日期:2018年11月09日【日精进打卡第180天】【知~学习】《六项精进》0遍共214遍《通篇》1遍共106遍《大学》2遍共347遍《坚强工作,温柔生活》ok《不抱怨的世界》104-108页《经典名句》你要记住,最重要的是:随时做好准备,为了你可能成为更好的自己,放弃现在的自己。【行~实践】一、修身:(对自己个人)1、坚持打卡二、齐家:(对家庭和家人)打扫卫生,接送孩子,洗衣做饭,陪</div> </li> <li><a href="/article/1950230804957294592.htm" title="SpringMVC执行流程(原理),通俗易懂" target="_blank">SpringMVC执行流程(原理),通俗易懂</a> <span class="text-muted">国服冰</span> <a class="tag" taget="_blank" href="/search/SpringMVC/1.htm">SpringMVC</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a> <div>SpringMVC执行流程(原理),通俗易懂一、图解SpringMVC流程二、进一步理解Springmvc的执行流程1、导入依赖2、建立展示的视图3、web.xml4、spring配置文件springmvc-servlet5、Controller6、tomcat配置7、访问的url8、视图页面一、图解SpringMVC流程图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提</div> </li> <li><a href="/article/1950229040682037248.htm" title="48. 旋转图像 - 力扣(LeetCode)" target="_blank">48. 旋转图像 - 力扣(LeetCode)</a> <span class="text-muted">Fiee-77</span> <a class="tag" taget="_blank" href="/search/%23/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/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/python/1.htm">python</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/%E6%95%B0%E7%BB%84/1.htm">数组</a> <div>题目:给定一个n×n的二维矩阵matrix表示一个图像。请你将图像顺时针旋转90度。你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例1:输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]示例2:输入:matrix=[[5,1,9,11],[2,4,8,10],[13,3,6,</div> </li> <li><a href="/article/1950228596207448064.htm" title="日更50天有什么收益?" target="_blank">日更50天有什么收益?</a> <span class="text-muted">星湾二宝</span> <div>坚持在平台上日更50天了,平台也为我生成了日更50天徽章,小开心一下这份坚持。日更50天徽章那坚持50天都有哪些收益呢?收益一,就是最直观的那些钻和贝,我这边确实不太高,但是这些贝足够支撑我保持会员的资格,能够在发文的时候帮助友友们去除广告,方便阅读。钻和贝收益二,文章的收获,日更50天,坚持写作3.7万文字,书写的文字也从开始的流水账/碎碎念逐渐加入自己的思考和观点。以前,一个念头会一晃而过,如</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/1950228031117258752.htm" title="深入解析JVM工作原理:从字节码到机器指令的全过程" target="_blank">深入解析JVM工作原理:从字节码到机器指令的全过程</a> <span class="text-muted"></span> <div>一、JVM概述Java虚拟机(JVM)是Java平台的核心组件,它实现了Java"一次编写,到处运行"的理念。JVM是一个抽象的计算机器,它有自己的指令集和运行时内存管理机制。JVM的主要职责:加载:读取.class文件并验证其正确性存储:管理内存分配和垃圾回收执行:解释或编译字节码为机器指令安全:提供沙箱环境限制恶意代码二、JVM架构详解JVM由三个主要子系统组成:1.类加载子系统类加载过程分为</div> </li> <li><a href="/article/1950228031524106240.htm" title="Spring进阶 - SpringMVC实现原理之DispatcherServlet处理请求的过程" target="_blank">Spring进阶 - SpringMVC实现原理之DispatcherServlet处理请求的过程</a> <span class="text-muted">倾听铃的声</span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</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%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>前文我们有了IOC的源码基础以及SpringMVC的基础,我们便可以进一步深入理解SpringMVC主要实现原理,包含DispatcherServlet的初始化过程和DispatcherServlet处理请求的过程的源码解析。本文是第二篇:DispatcherServlet处理请求的过程的源码解析。@pdaiSpring进阶-SpringMVC实现原理之DispatcherServlet处理请求的</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/1950226643771518976.htm" title="关于流媒体播放器EasyPlayer和EasyPlayerPro的介绍以及其区别" target="_blank">关于流媒体播放器EasyPlayer和EasyPlayerPro的介绍以及其区别</a> <span class="text-muted">EasyDarwin</span> <a class="tag" taget="_blank" href="/search/EasyDarwin/1.htm">EasyDarwin</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</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%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/ar/1.htm">ar</a> <div>EasyPlayer是一款流媒体播放器系列项目,它支持多种流媒体协议的播放,包括但不限于RTSP、RTMP、HTTP、HLS、UDP、RTP、File等。除此之外,EasyPlayer还支持本地文件播放和多种功能特性,包括本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等。EasyPlayer核心基于ffmpeg,稳定、高效、可靠、可控。随着多年的不断发展和迭代,EasyPlayer基于成功的实践</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/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/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/1950224745421139968.htm" title="车载刷写架构 --- 刷写思考扩展" target="_blank">车载刷写架构 --- 刷写思考扩展</a> <span class="text-muted">汽车电子实验室</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%AD%90%E7%94%B5%E5%99%A8%E6%9E%B6%E6%9E%84%E2%80%94%E2%80%94%E5%88%B7%E5%86%99%E6%96%B9%E6%A1%88/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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%85%B3%E4%BA%8E%E7%BD%91%E5%85%B3%E8%BD%AC%E5%8F%91%E6%80%A7%E8%83%BD%E5%BC%95%E8%B5%B7%E7%9A%84%E6%80%9D%E8%80%83/1.htm">关于网关转发性能引起的思考</a><a class="tag" taget="_blank" href="/search/%E6%B1%BD%E8%BD%A6%E4%B8%AD%E5%A4%AE%E6%8E%A7%E5%88%B6%E5%8D%95%E5%85%83HPC%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84/1.htm">汽车中央控制单元HPC软件架构</a><a class="tag" taget="_blank" href="/search/%E8%BD%A6%E8%BD%BD%E8%AF%8A%E6%96%AD%E8%BF%9B%E9%98%B6%E7%AF%87/1.htm">车载诊断进阶篇</a> <div>我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是系统思考、大胆设计、小心求证;三是“一张纸制度”,也就是无论多么复杂的工作内容,要在一张纸上描述清楚;四是要坚决反对虎头蛇尾,反对繁文缛节,反对老</div> </li> <li><a href="/article/1950224745093984256.htm" title="在线人数统计业务设计(场景八股文)" target="_blank">在线人数统计业务设计(场景八股文)</a> <span class="text-muted"></span> <div>业务问题在当经的网站中,在线人数的实时统计已经是一个必不可少的模块了,并且该统计功能最好能够按不同的时间间隔做的统计,现在需要你设计一个在线人数统计的模块,你应该怎么进行设计的呢?背景一个网校下会有多个学员。目前平台大概有十个,平台对应的网校大概五十几个,平均一个网校会有5w个用户,预计总人数为200w,最该学员的在线人数在10w左右。设计思路最开始的时候,想到的就是使用mysql直接实现,但是明</div> </li> <li><a href="/article/1950223483048882176.htm" title="【ARM】FPU,VFP,ASE,NEON,SVE...是什么意思?" target="_blank">【ARM】FPU,VFP,ASE,NEON,SVE...是什么意思?</a> <span class="text-muted">亿道电子Emdoor</span> <a class="tag" taget="_blank" href="/search/ARM/1.htm">ARM</a><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/ARM/1.htm">ARM</a> <div>1、文档目标对执行浮点和SIMD操作的逻辑的各种名称的缩写词进行简要解释。2、问题场景Arm处理器内核中有用于执行浮点和SIMD操作的逻辑,有各种名称。它们通常是一系列的缩写形式,因此本文旨在对每一个缩写词进行简要解释。3、软硬件环境1、软件版本:不涉及2、电脑环境:不涉及4、相关缩写FPU(Floating-PointUnit)浮点单元浮点单元是处理器核心中的一个模块,用于使用浮点数执行算术运算</div> </li> <li><a href="/article/1950222858454102016.htm" title="《路远连着天》 第二 章 在 路 上 7" target="_blank">《路远连着天》 第二 章 在 路 上 7</a> <span class="text-muted">亚宁</span> <div>大路镇的街道两旁尽是店铺,气派者是红门柱子雕花门窗,一般则多为布匹小百货店,还有几家门面朝外的车马大店,和一家颇有气势的典当铺。街上来往人还真不少,有挑担叫卖水果的,有背篓子路过的,还有衣冠楚楚,悠哉悠哉,甩着双手散步的有钱爷。耿六想着先寻姑妈家,还是先到兵营看那几个土匪呢?也只是一转念,他选择了后者,跟在几个闲人后,就来到了在镇外山头上曾看到过的那处飘着晴天白日旗的兵营门外。这里,围观的人乱哄哄</div> </li> <li><a href="/article/1950222857124507648.htm" title="读书打卡《别想太多啦》" target="_blank">读书打卡《别想太多啦》</a> <span class="text-muted">chenchen_68ed</span> <div>第一,世间之事,不去尝试永远不知道其中的奥秘,在尝试中有失败是必然的。如果担心失败,那什么都学不会。第二,经历的失败越多,越会对失败者抱有宽容的态度,“原来如此,我也经历过类似的失败啦,那只是暂时的”。经历越多失败的长者,越能包容别人,这也就是所谓的“越年长越宽容”。成熟的人,就是在众多失败经历中不断学习,并接纳别人的失败。对于他人的小小过失不吹毛求疵,自己的心态会更加平和。在不断失败中学习,让自</div> </li> <li><a href="/article/1950221589622616064.htm" title="EasyPlayer播放器系列开发计划2025" target="_blank">EasyPlayer播放器系列开发计划2025</a> <span class="text-muted">xiejiashu</span> <a class="tag" taget="_blank" href="/search/EasyPlayer/1.htm">EasyPlayer</a><a class="tag" taget="_blank" href="/search/EasyPlayer/1.htm">EasyPlayer</a><a class="tag" taget="_blank" href="/search/EasyPlayer%E6%92%AD%E6%94%BE%E5%99%A8/1.htm">EasyPlayer播放器</a><a class="tag" taget="_blank" href="/search/RTSP%E6%92%AD%E6%94%BE%E5%99%A8/1.htm">RTSP播放器</a><a class="tag" taget="_blank" href="/search/js%E6%92%AD%E6%94%BE%E5%99%A8/1.htm">js播放器</a><a class="tag" taget="_blank" href="/search/Web%E6%92%AD%E6%94%BE%E5%99%A8/1.htm">Web播放器</a> <div>EasyPlayer系列产品发展至今,已经超过10年,从最早的EasyPlayerRTSP播放器,到如今维护的3条线:EasyPlayer-RTSP播放器:Windows、Android、iOS;EasyPlayerPro播放器:Windows、Android、iOS;EasyPlayer.js播放器:H5;这3个播放器各有各的应用场景,用户量也是巨大,像RTSP版本的播放器,到今天依然还有很多低</div> </li> <li><a href="/article/1950220441549336576.htm" title="人物系列首篇|总会有人陪你走一段路" target="_blank">人物系列首篇|总会有人陪你走一段路</a> <span class="text-muted">诗小蛮5786400</span> <div>主题纲要:1.总会有人陪你走一段路2.不打扰也是一种幸福3.留在身边的,哪怕瞎逼逼一番也是珍贵一、总会有人陪你走一段路在综艺《向往的生活》,任嘉伦曾问过这样一个问题:“你们有没有过那样一种朋友:你们小时候关系很好,但因为你事业越来越好;他觉得你们之间的距离越来越远,然后他就自己疏远你的那种。”何炅说:我们要接受这是常态,我们每个人都有在乎的、喜欢的人,但我从来没有奢望,要把谁留在身边一辈子,因为这</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/1950218399846035456.htm" title="营销活动-大转盘" target="_blank">营销活动-大转盘</a> <span class="text-muted">無缺520</span> <div>写在前面最近,首先营销活动工具这块我是再熟悉不过了。曾经做了不下20个活动工具,然后通过监控活动数据反推活动的好坏。文中主要讲解幸运大转盘营销工具一.大转盘定义大转盘是比较常见的营销活动工具,它是通过消费者用户控制【开始/停止】操作获得奖品物品。用户在不知道自己能获得什么奖品的条件下,然后通过抽奖,大概率的获得未知的奖品。类似最近流行的盲盒玩法。二.为什么做大转盘大转盘是最常用的抽奖类的活动工具之</div> </li> <li><a href="/article/1950217305761837056.htm" title="5G基站信号加速器!AD8021ARZ-REEL7亚德诺 超低噪声高速电压放大器 专利失真消除技术!" target="_blank">5G基站信号加速器!AD8021ARZ-REEL7亚德诺 超低噪声高速电压放大器 专利失真消除技术!</a> <span class="text-muted">深圳市尚想信息技术有限公司</span> <a class="tag" taget="_blank" href="/search/5G%E9%80%9A%E4%BF%A1/1.htm">5G通信</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E9%80%9F%E8%BF%90%E6%94%BE/1.htm">高速运放</a><a class="tag" taget="_blank" href="/search/ADI%E9%BB%91%E7%A7%91%E6%8A%80/1.htm">ADI黑科技</a><a class="tag" taget="_blank" href="/search/8K%E8%A7%86%E9%A2%91/1.htm">8K视频</a><a class="tag" taget="_blank" href="/search/%E5%8C%BB%E7%96%97%E8%B6%85%E5%A3%B0/1.htm">医疗超声</a> <div>AD8021ARZ-REEL7ADI:重新定义高速放大器的性能极限!一、产品简介AD8021ARZ-REEL7是ADI(亚德诺半导体)推出的超低噪声高速电压反馈放大器,采用XFCB工艺和专利失真消除技术,专为4K/8K视频处理、医疗成像、5G通信等超高频应用设计。以1.8GHz带宽和0.1nV/√Hz超低噪声,成为高速信号调理的终极解决方案!二、五大颠覆性优势军工级信号保真度1.8GHz-3dB带</div> </li> <li><a href="/article/1950217304876838912.htm" title="STM32入门之TIM基本定时器" target="_blank">STM32入门之TIM基本定时器</a> <span class="text-muted">嵌入式白话</span> <a class="tag" taget="_blank" href="/search/STM32%E5%85%A5%E9%97%A8%E5%AD%A6%E4%B9%A0/1.htm">STM32入门学习</a><a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</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><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a> <div>一、定时器简介定时器是嵌入式系统中的关键外设之一,它可以用于生成精确的延时、周期性中断、PWM波形生成等功能。在STM32F1系列单片机中,定时器不仅能为系统提供精确的时钟,还支持外部事件的捕获以及信号输出。对于定时器的功能,我们可以通过一个生活中非常常见的例子来形象地描述:微波炉的定时器。想象你正在使用微波炉加热食物。在微波炉里,定时器的作用就是帮助你控制食物加热的时间。当你设置了加热时间后,定</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>