﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-hjh132's Blog</title><link>http://www.blogjava.net/hjh132/</link><description>If a thing is worth doing it is worth doing well.</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 08:01:01 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 08:01:01 GMT</pubDate><ttl>60</ttl><item><title>工作了。。。</title><link>http://www.blogjava.net/hjh132/archive/2008/05/30/204207.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Fri, 30 May 2008 15:42:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/05/30/204207.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/204207.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/05/30/204207.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/204207.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/204207.html</trackback:ping><description><![CDATA[我的大学快结束了，最近2个星期都在上班，现在从事底层研发，以后很少更新这里的JavaBlog了，以后写东西or转载都是底层相关的内容了。<br />
<img src ="http://www.blogjava.net/hjh132/aggbug/204207.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-05-30 23:42 <a href="http://www.blogjava.net/hjh132/archive/2008/05/30/204207.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>本体论及语义搜索引擎</title><link>http://www.blogjava.net/hjh132/archive/2008/04/16/193586.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Wed, 16 Apr 2008 14:40:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/04/16/193586.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/193586.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/04/16/193586.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/193586.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/193586.html</trackback:ping><description><![CDATA[1　引言<br />
&nbsp;&nbsp;&nbsp; 网络信息检索已成为我们获取信息主要手段。根据CNNIC的统计数据[1]：目前中国用户上网的最主要目的中，信息获取以42.3%位居榜首；有98.7%的人表示通过互联网来获取信息，其中有71.9%的人是通过搜索引擎来查找相关网站的。然而网络信息检索面临两个亟待解决的关键问题：<br />
&nbsp;&nbsp;&nbsp; (1)搜索的结果相关度低，冗余信息太多；<br />
&nbsp;&nbsp;&nbsp; (2)搜索引擎无法对常识性问题给予回答，智能化水平低。<br />
&nbsp;&nbsp;&nbsp; 出现上述问题的原因在于目前检索技术主要依赖于编码技术，通过分类模式来描述给定的信息；通过基于字符串匹配的全文检索技术，来搜索用户提交的关键词。由于编码描述只能反映出部分语义，因此不能保证语义的匹配；检索过程是把用户的查询关键词与全文中的每一个词进行比较，而不考虑查询请求与文档语义上的匹配。针对上述两个关键问题，本文运用本体论的相关知识，提出基于本体构建的语义搜索引擎模型。该模型能够根据用户的查询关键字或者询问问题，进行基于知识的推理，从而提高检索结果的相关度，并且实现一定水平的语义检索。<br />
&nbsp;&nbsp;&nbsp; 　　2　本体论<br />
&nbsp;&nbsp;&nbsp; 　　2.1　本体的概念<br />
&nbsp;&nbsp;&nbsp; 本体这个术语来自于哲学，根据韦氏词典的解释，本体是形而上学的一个分支。目前本体在人工智能领域得到广泛研究和应用，但尚未形成统一的定义，最广为流传的定义有[2]：<br />
&nbsp;&nbsp;&nbsp; 定义1：本体是对共享概念模型的形式化明确说明。它有几个要点：<br />
&nbsp;&nbsp;&nbsp; ★　概念模型(conceptualization)：指通过抽象客观世界中一些现象(Phenomenon)的相关概念而得到的模型，其表示的含义独立于具体的环境状态；<br />
&nbsp;&nbsp;&nbsp; ★　明确(explicit)：指所使用的概念及使用这些概念的约束都有明确的定义；<br />
&nbsp;&nbsp;&nbsp; ★　形式化(formal)：指Ontology是计算机可读的；<br />
&nbsp;&nbsp;&nbsp; ★　共享(share)：指Ontology中体现的是共同认可的知识，反映的是相关领域中公认的概念集，它所针对的是团体而不是个体。<br />
&nbsp;&nbsp;&nbsp; 简单地说，本体给出构成相关领域词汇的基本术语和关系，以及利用这些术语和关系构成的确定词汇外延的有关规则的定义；其目标是捕获相关的领域的知识，提供对该领域知识的共同理解，确定领域内通用的词汇，并给出这些词汇（术语）和词汇之间相互关系的明确定义。<br />
&nbsp;&nbsp;&nbsp; 定义2：本体论是关于词汇或概念的理论，这些诃汇和概念用于构建人工智能系统。该定义认为，本体实际上是一种表示性的词汇，这种词汇可以应用于特定领域。比如电子设备领域的本体，它包含一些描述基本概念的词汇——晶体管，运算放大器，电压等；也包含这些基本词汇间的关系——运算放大器是电子设备的一种，而晶体管是运算放大器的组件。一般来说，识别这种词汇和潜在的概念需要仔细分析领域内存在的各种对象和关系。这一定义描述的本体建设方法与面向对象方法有一定的共通之处。<br />
&nbsp;&nbsp;&nbsp; 定义3：本体论是用来定义某一领域的知识主体。该定义认为，本体是描述某个领域的知识，它不仅仅是简单的词汇表，而是整个上层知识库（包括用于描述这个知识库的词汇）。<br />
&nbsp;&nbsp;&nbsp; 综上所述，本体是某个领域内（可以是特定专业的，也可以是宽泛范畴的）不同主体（人、代理、机器等）之间进行交流（对话、互操作、共享等）的一种语义基础，即由本体提供定义明确的词汇表，描述概念和概念之间的关系，作为使用者之间达成的共识。<br />
&nbsp;&nbsp;&nbsp; 　　2.2　本体的作用<br />
&nbsp;&nbsp;&nbsp; 本体的作用可归结为通讯(communication)、互操作(interoperability)和系统工程(systems engineering)。<br />
&nbsp;&nbsp;&nbsp; (1)所谓通讯是指本体为人与人之间或组织与组织之间的通讯提供共同的词汇，即交流的基础。<br />
&nbsp;&nbsp;&nbsp; (2)互操作说明本体建立了在不同的建模方法、范式、语言和软件工具之间进行翻译和映射的机制，以实现不同系统之间集成。<br />
&nbsp;&nbsp;&nbsp; (3)系统工程：本体分析能够为系统工程提供以下方面的好处：<br />
&nbsp;&nbsp;&nbsp; ★　重用(reusability)：本体是领域内的重要实体、属性、过程及其相互关系形式化描述的基础。这种形式化描述可成为软件系统中可重用和共享的组件(component)。<br />
&nbsp;&nbsp;&nbsp; ★　知识获取(knowledge acquisition)：当构造基于知识的系统时，用已有的本体作为起点和基础来指导知识的获取，可以提高其速度和可靠性。<br />
&nbsp;&nbsp;&nbsp; ★　可靠性(reliability)：由于本体的描述是形式化的，形式化的表达使得自动的一致性检查成为可能，从而提高了软件系统的可靠性。<br />
&nbsp;&nbsp;&nbsp; ★　规范描述(specification)：本体分析有助于确定系统（如知识库）的需求和规范。<br />
&nbsp;&nbsp;&nbsp; 　　3　基于本体语义搜索引擎<br />
&nbsp;&nbsp;&nbsp; 　　3.1　基于本体搜索引擎的设计思想<br />
&nbsp;&nbsp;&nbsp; 本体提供了人机交流的机制，使得机器可以理解语义，从而为搜索引擎提高效率奠定了基础。<br />
&nbsp;&nbsp;&nbsp; 基于本体的搜索引擎的基本设计思想：<br />
&nbsp;&nbsp;&nbsp; (1)在领域专家的帮助下，建立相关领域的本体(Ontology)；<br />
&nbsp;&nbsp;&nbsp; (2)收集信息源中的数据，并参照已建立的Ontology，把收集来的数据按规定的格式存储在元数据库（关系数据库、知识库等）中：<br />
&nbsp;&nbsp;&nbsp; (3)对用户检索界面获取的查询请求，查询转换器按照Ontology把查洵请求转换成规定的格式，在Ontology的帮助下从元数据库中匹配出符合条件的数据集合；<br />
&nbsp;&nbsp;&nbsp; (4)检索的结果经过定制处理后，返回给用户。<br />
3.2　知识库<br />
&nbsp;&nbsp;&nbsp; 实现基于本体的语义搜索引擎，建立知识库是必需的。知识库是语义搜索引擎进行推理和知识积累的基础和关键，而Ontology则是知识库的基础。一般来说，本体提供一组术语和概念来描述某个领域，知识库则使用这些术语来表达该领域的事实。例如医药本体可能包含&#8220;白血病&#8221;、&#8220;皮肤病&#8221;等术语的定义，但它不会包含具体某一病人的诊断结果，而这正是知识库所要表达的内容。比如张三患有皮肤病、李四患有皮肤病和白血病、王五患有白血病，其中的皮肤病、白血病就是本体。而各个病症的实例（张三、李四、王五）及其病症描述就是知识库的内容。<br />
&nbsp;&nbsp;&nbsp; 本体和知识库的关系有几个要点：<br />
&nbsp;&nbsp;&nbsp; ★　Ontology为知识库的建立提供一个基本的结构；<br />
&nbsp;&nbsp;&nbsp; ★　Ontology提供一套概念和术语来描述某一领域，并且获取该领域的本质的概念结构；<br />
&nbsp;&nbsp;&nbsp; ★　知识库就运用这些术语去表达现实或者虚拟世界中的正确知识。<br />
&nbsp;&nbsp;&nbsp; 因此，建设一个知识库的第一步就是对该领域进行有效的Ontology分析。<br />
&nbsp;&nbsp;&nbsp; 　　3.3　构造本体<br />
&nbsp;&nbsp;&nbsp; 本体的构造是整个基于Ontology的信息检索系统的底层基石，决定着系统的性能、通用程度以及系统运行的质量。如何正确、有效、合乎逻辑的建立本体是这个系统建立的关键。<br />
&nbsp;&nbsp;&nbsp; 　　(1)本体的构造准则<br />
&nbsp;&nbsp;&nbsp; 对同一领域，同一事物，不同人往往会建立不同的本体。由于本体应该是规范化的描述，因此遵循统一的构造准则是必要的。目前最为常用的是Gruber提出的指导本体构造的5个准则，[3]即：<br />
&nbsp;&nbsp;&nbsp; 清晰(Clarity)：本体必须有效的说明所定义术语的意思。定义应该是客观的，与背景独立的。当定义可以用逻辑公理表达时，它应该是形式化的。定义应该尽可能的完整。所有定义应该用自然语言加以说明。<br />
&nbsp;&nbsp;&nbsp; 一致(Coherence)：本体应该是一致的，也就是说，它应该支持与其定义相一致的推理。它所定义的公理以及用自然语言进行说明的文档都应该具有一致性。<br />
&nbsp;&nbsp;&nbsp; 可扩展性(Extendibility)：本体应该为可预料到的任务提供概念基础。它应该可以支持在已有的概念基础上定义新的术语，以满足特殊的需求，而无须修改已有的概念定义。<br />
&nbsp;&nbsp;&nbsp; 编码偏好程度最小(Minimal encoding bias)：概念的描述不应该依赖于某一种特殊的符号层的表示方法。因为实际的系统可能采用不同的知识表示方法。<br />
&nbsp;&nbsp;&nbsp; 本体约定最小(Minimal ontological commitment)：本体约定应该最小，只要能够满足特定的知识共享需求即可。这可以通过定义约束最弱的公理以及只定义通讯所需的词汇来保证。<br />
&nbsp;&nbsp;&nbsp; 　　(2)本体的表示<br />
&nbsp;&nbsp;&nbsp; 目前有两种本体表示方法应用比较广泛，一是传统的四元素表示方法、二是较新的六元组表示法。前者在世界范围内得到了比较高的认同，但是形式过于灵活，不易掌握。后者因为定义规范，可操作性强，得到了广大国内研究者的欢迎。<br />
&nbsp;&nbsp;&nbsp; ★　四元素表示方法<br />
&nbsp;&nbsp;&nbsp; 四元素表示方法的基本思想是；一个本体中的四个主要元素是：概念(concepts)、关系(relations)、实例(instances)和公理(axioms)。<br />
&nbsp;&nbsp;&nbsp; 概念表示某个领域中一类实体或事物的集合。通常概念可以分成两大类，一类是简单概念(primitive concepts)，另一类是详细概念(defined concepts)。简单概念是那些只具备必要条件（即属性）的类成员（注：英文原文：Primitive concepts are those which only have necessary conditions(in terms of their properties)for membership of the class.）。详细概念是指对类成员的描述既充分又必要（注：英文原文：Defined concepts are those whose description is both necessary and sufficient for a thing to be a member of the class.）。例如：&#8220;正方形是四个角都是直角的四边形&#8221;就是一个简单概念。而&#8220;正方形是四个角都是直角的四个边等长的四边形&#8221;就是一个详细概念，因为四个边等长是正方形的充分且必要条件。<br />
&nbsp;&nbsp;&nbsp; 关系描述概念和概念属性的交互。<br />
&nbsp;&nbsp;&nbsp; 实例是概念表示的具体的事物，如对于大学这个概念，山东大学就是一个实例。严格的说，一个本体不应该包括任何实例，因为它被假设为一个具体领域的概念化。一个本体与相关的实例的组合就是我们如今所称呼的知识库(knowledge base)。<br />
&nbsp;&nbsp;&nbsp; 公理是用来限制类和实例的取值范围，公理中包括许多具体的规则和约束。<br />
&nbsp;&nbsp;&nbsp; ★　六元组表示法<br />
&nbsp;&nbsp;&nbsp; 这种方法的基本思想就是用一个六元组来表示一个本体。<br />
&nbsp;&nbsp;&nbsp; An Ontology=｛C,AC,R,AR,H,X｝<br />
&nbsp;&nbsp;&nbsp; 其中C表示概念的集合。AC表示多个属性集合组成的集合，其中每个属性集合对应于一个概念。R是一个关系集合。AR是由多个属性集合组成的集合，其中每个属性集合对应于R中的一个关系。H表示概念之间的层次结构关系，X表示公理集合。<br />
&nbsp;&nbsp;&nbsp; 为了深入描述本体的表示方法，以下列出了一个家庭本体描述实例。<br />
&nbsp;&nbsp;&nbsp; Family_Ontology=｛Cfamily,ACfamily,R family,ARfamily,H family,X family｝where<br />
&nbsp;&nbsp;&nbsp; Cfamily=｛father,mother,children｝<br />
&nbsp;&nbsp;&nbsp; ACfamily=｛ACfamily(father),ACfamily(mother),ACfamily(children)｝<br />
&nbsp;&nbsp;&nbsp; ACfamily(father)=｛name,age,job,salary,&#8230;&#8230;｝<br />
&nbsp;&nbsp;&nbsp; ACfamily(mother)=｛name,age,job,salary,&#8230;&#8230;｝<br />
&nbsp;&nbsp;&nbsp; ACfamily(children)=｛name,age,sex,&#8230;&#8230;｝<br />
&nbsp;&nbsp;&nbsp; R family=｛TakeCareOf(mother,mother,children),<br />
&nbsp;&nbsp;&nbsp; Educate(father,mother,children),<br />
&nbsp;&nbsp;&nbsp; Help(children,mother),&#8230;&#8230;｝<br />
&nbsp;&nbsp;&nbsp; ARfamily　=｛ARfamily(TakeCareOf),ARfamily(Educate),ARfamily(Help),&#8230;&#8230;｝<br />
&nbsp;&nbsp;&nbsp; ARfamily(TakeCareOf)=｛feed,clothing,seeDoctor,&#8230;&#8230;｝<br />
&nbsp;&nbsp;&nbsp; ARfamily(Educate)=｛teach,exercise,&#8230;&#8230;｝<br />
&nbsp;&nbsp;&nbsp; &#8230;&#8230;<br />
　(3)本体的构造的生命周期<br />
&nbsp;&nbsp;&nbsp; 了解了本体建设的准则和方法论之后，下一步就是要着手建立本体。而建立的过程可以用生命周期的概念来描述。Uschold &amp; Gruninger提出了一个本体构造的方法学框架[4]（图1），框架包括以下组成部分：<br />
&nbsp;&nbsp;&nbsp; 首先要明确本体使用的目的和范围，然后依次构造本体。构造本体过程可以分为三个阶段：<br />
&nbsp;&nbsp;&nbsp; 本体捕获就是确定关键的概念和关系，给出精确定义，并确定其它相关的术语；本体编码即选择合适的表示语言表达概念和术语；已有本体的集成是对已有本体的重用和修改。这个阶段也是一个循环往复的迭代过程。<br />
&nbsp;&nbsp;&nbsp; 最后是评估阶段，要根据需求描述、能力问题(competency question)等对本体以及软件环境、相关文档进行评价。<br />
&nbsp;&nbsp;&nbsp; 附图<br />
&nbsp;&nbsp;&nbsp; 　　图1　本体建造的流程<br />
&nbsp;&nbsp;&nbsp; 　　3.4　基于本体的语义搜索引擎模型简介(OntoSSE,ontology-based Semantic Search Engine)<br />
&nbsp;&nbsp;&nbsp; OntoSSE是基于本体的搜索引擎，它能够实现语义搜索、知识检索和一定的推理功能。本模型假设搜索引擎存在的环境是web网页，这些网页并未自动含有语义标记。<br />
&nbsp;&nbsp;&nbsp; 此系统也应具备搜索引擎的各种基本的功能，比如网页的遍历和获取、索引的建立、页面查找算法等，都可以参考目前流行的搜索引擎的结构和实现过程。<br />
&nbsp;&nbsp;&nbsp; OntoSSE的重要之处是信息库和知识库的交流。知识库是实现智能搜索的核心，它如同人的大脑，其增长也需要一种自然的循环。知识库的丰富也决定着检索能力和Question-Answer能力的高低。信息库是知识库存在和发展的空间，知识库就是对信息库的判断、提取、分析和概括。智能搜索引擎就是通过知识库把用户的问题提高到知识层面，然后利用这个知识检索信息库。[5]二者的有机结合离不开语义分析和知识管理。因此，Ontology作为语义分析和知识共享和重用的重要基础，与知识库、信息库一起构成OntoSSE的三大支柱。<br />
&nbsp;&nbsp;&nbsp; 图2展示了基于本体的语义搜索引擎OntoSSE的系统结构及其工作流程。OntoSSE模型的工作原理和检索步骤可以概括如下：<br />
&nbsp;&nbsp;&nbsp; (1)搜索引擎通过自动网页采集器(web spider)来抓取网页，参照特定词表将网页信息分类建立索引，加入索引库中。<br />
&nbsp;&nbsp;&nbsp; 附图<br />
&nbsp;&nbsp;&nbsp; 　　图2　OntoSSE的体系结构及其工作流<br />
&nbsp;&nbsp;&nbsp; (2)由人工、自动或者半自动的方式，建立领域或者通用的本体。(3)参照本体，使用本体描述语言(DAML、RDF)对文档进行标注。(4)标注的文档(RDF Triple)相当于一个本体的实例，它被存放在知识库中。(5)用户以自然语言输入查询请求，这种请求可能是关键字，或者一个问题。(6)查询过滤器（分析器）对用户的查询请求进行语义分析，提取出相关属性的值。(7)检索代理结合RDF Triple中体现的类和关系信息以及由查询过滤器提交的属性值，进行逻辑推理，生成查询实例。(8)查询实例被传往信息数据库，在不同目录中查找，并将结果处理后返回给用户。例如，如果我们要检索&#8220;微软总裁是谁&#8221;，将这个问题输入模型以后，查询过滤器根据分词技术，进行语义理解，分析出该句子的语义实际表示了&#8220;有某个名为&#8216;职务&#8217;的属性其值是&#8216;微软总裁&#8217;&#8221;。而通过本体和知识库，系统通过推理，可以知道在名为&#8220;人&#8221;的类中有名为&#8220;职务&#8221;的属性，这样，在进行语义推理时，就生成一个人的类的实例，其中有属性&#8220;职务＝微软总裁&#8221;，而通过知识库得知，这个实例的名字属性为&#8220;Bill Gate&#8221;。这时，我们就获得了&#8220;Bill Gate&#8221;的答案。最后，我们还可以从信息库和知识库中检索与比尔盖茨相关的各种潜在信息。<br />
&nbsp;&nbsp;&nbsp; 可见OntoSSE模型可实现本体对搜索引擎三个方面的改进：提高结果相关度、语义推理功能和知识检索。<br />
&nbsp;&nbsp;&nbsp; 　　4　结束语<br />
&nbsp;&nbsp;&nbsp; 通过本体支持语义，支持人机之间的交流，从而实现机器智能，为web的发展带来了新的契机。而本体在搜索引擎中的应用，必将对搜索引擎的易用性和效率，产生极大的改进，从而使得web用户能够更好的在浩如烟海的信息海洋中遨游。 <br />
【参考文献】<br />
&nbsp;&nbsp;&nbsp; 1　中国互联网络信息中心.第十四次中国互联网络发展状况统计报告[R].2004/7<br />
&nbsp;&nbsp;&nbsp; http:llwww.cnnic.net.cn/<br />
&nbsp;&nbsp;&nbsp; 2　Ontologies-Description and Applications.http://wiki.w3china.org/wiki/index.php<br />
&nbsp;&nbsp;&nbsp; 3　Gruber T.Towards principles for the design of ontologies used for knowledge sharing.International Journal of Human-Computer Studies 1995,43(5/6):907-928<br />
&nbsp;&nbsp;&nbsp; 4 Uschold M.Building Ontologies:Towards UnifiedMethodology[J].Inexpert systems 96,1996 (3)<br />
&nbsp;&nbsp;&nbsp; 5　吴丹.搜索引擎的智能化研究[J].情报理论与实践，2002(4) 
<img src ="http://www.blogjava.net/hjh132/aggbug/193586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-04-16 22:40 <a href="http://www.blogjava.net/hjh132/archive/2008/04/16/193586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>范文1：论人生态度</title><link>http://www.blogjava.net/hjh132/archive/2008/04/11/192225.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Fri, 11 Apr 2008 09:00:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/04/11/192225.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/192225.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/04/11/192225.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/192225.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/192225.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;
<p class="MsoNormal" style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">I</span><span style="color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体">、漫画图片类</span><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
<p class="MsoNormal" style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体">此类主题已经考过</span><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">8</span><span style="color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体">年，综观</span><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">8</span><span style="color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体">年的出题，大致分为两类：</span><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
<p class="MsoNormal" style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left"><span style="color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体">（</span><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">1</span><span style="color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体">）</span><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Type A</span><span style="color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体">，以描述点题段</span><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">---</span><span style="color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体">举例说明段</span><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">---</span><span style="color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体">前瞻感言段的三段式行文；</span><span lang="EN-US" style="color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
<span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">（</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">2</span><span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">）</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Type B</span><span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">，以描述点题段</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">---</span><span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">阐述寓意段</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥; mso-bidi-font-size: 9.0pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">---</span><span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-bidi-font-size: 9.0pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">前瞻感言段的三段式行文；</span>
<p style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left" align="left"><span style="color: black; font-family: 宋体">图上有两个人面对同样的夜空，发出两种截然不同的感叹！表明两种不同的人生态度。</span></p>
<p style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left" align="left"><span style="color: black; font-family: ˎ̥">Attitude (type A)</span></p>
<p style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left" align="left"><span style="color: black; font-family: ˎ̥">1) Show your understanding of the symbolic meaning of the pictures below. (</span><span style="color: black; font-family: 宋体">描述点题段</span><span style="color: black; font-family: ˎ̥">)</span></p>
<p style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left" align="left"><span style="color: black; font-family: ˎ̥">2) Give a specific example, and (</span><span style="color: black; font-family: 宋体">举例说明段</span><span style="color: black; font-family: ˎ̥">)</span></p>
<p style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left" align="left"><span style="color: black; font-family: ˎ̥">3) Give your suggestion as to the best way to overcome crisis.(</span><span style="color: black; font-family: 宋体">前瞻感言段</span><span style="color: black; font-family: ˎ̥">)</span></p>
<p style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left" align="left"><span style="color: black; font-family: ˎ̥">Just as is revealed in the pictures above, people are generally classified into two types: the pessimistic and the optimistic. We can see in one picture some people, long-faced and downhearted, are counting the nights by the shadows while in the other picture the happy-go-lucky people are enjoying the starry nights. What a contrastive view! Remember, it is not the bad thing that determines our state of mind but the way we look at it matters. (</span><span style="color: black; font-family: 宋体">描述点题段</span><span style="color: black; font-family: ˎ̥">) (</span><span style="color: black; font-family: 宋体">以小到大</span><span style="color: black; font-family: ˎ̥">)</span></p>
<p style="layout-grid-mode: char; word-break: break-all; line-height: 12pt; text-align: left" align="left"><span style="color: black; font-family: ˎ̥">An example that comes to mind is SARS crisis that has recently torn apart and ravaged most of China. Admittedly, it has cost us quite a lot. Some people suffered from health damage and still some even lost their lives. And our economy suffers a temporary setback and a slowdown. However, we still have learnt and benefited a lot from it. (</span><span style="color: black; font-family: 宋体">举例说明段</span><span style="color: black; font-family: ˎ̥">) 4. First things first, we are more concerned than never before with our health, and the environment we live in. Additionally, we tried and bettered and are still bettering our mechanism to respond to unexpected crises. These and other lessons at the expense of blood, tear, toil and sweat are benefiting and continue to benefit us and generations of Chinese to come. (</span><span style="color: black; font-family: 宋体">分析问题段</span><span style="color: black; font-family: ˎ̥">)</span></p>
<span style="font-size: 10.5pt; color: black; font-family: ˎ̥">The best way to overcome the frustrations brought about crises is to always take a positive outlook on life. Just as a well-known ancient Chinese notion goes, the past lessons if not forgotten are good teachers for us all. If we can bear in mind sufferings and ordeals we have experienced, then our sufferings will not go unrewarded. (</span><span style="font-size: 10.5pt; color: black; font-family: 宋体">前瞻感言段</span><span style="font-size: 10.5pt; color: black; font-family: ˎ̥">)</span>
<img src ="http://www.blogjava.net/hjh132/aggbug/192225.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-04-11 17:00 <a href="http://www.blogjava.net/hjh132/archive/2008/04/11/192225.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>每个初学者都应该搞懂的问题！</title><link>http://www.blogjava.net/hjh132/archive/2008/04/02/190474.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Wed, 02 Apr 2008 14:32:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/04/02/190474.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/190474.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/04/02/190474.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/190474.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/190474.html</trackback:ping><description><![CDATA[对于这个系列里的问题，每个学Java的人都应该搞懂。当然，如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了，却不很懂这些问题，请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。<br />
<strong><wbr>问题一：</strong><wbr><font style="line-height: 1.3em" color="red">我声明了什么！</font><wbr><br />
String s = "Hello world!";<br />
许多人都做过这样的事情，但是，我们到底声明了什么？回答通常是：一个String，内容是&#8220;Hello world!&#8221;。这样模糊的回答通常是概念不清的根源。如果要准确的回答，一半的人大概会回答错误。<br />
这个语句声明的是一个指向对象的引用，名为&#8220;s&#8221;，可以指向类型为String的任何对象，目前指向"Hello world!"这个String类型的对象。这就是真正发生的事情。我们并没有声明一个String对象，我们只是声明了一个只能指向String对象的引用变量。所以，如果在刚才那句语句后面，如果再运行一句：<br />
String string = s;<br />
我们是声明了另外一个只能指向String对象的引用，名为string，并没有第二个对象产生，string还是指向原来那个对象，也就是，和s指向同一个对象。<br />
<strong><wbr>问题二：</strong><wbr><font style="line-height: 1.3em" color="red">"=="和equals方法究竟有什么区别？</font><wbr><br />
==操作符专门用来比较变量的值是否相等。比较好理解的一点是：<br />
int a=10;<br />
int b=10;<br />
则a==b将是true。<br />
但不好理解的地方是：<br />
String a=new String("foo");<br />
String b=new String("foo");<br />
则a==b将返回false。<br />
根据前一帖说过，对象变量其实是一个引用，它们的值是指向对象所在的内存地址，而不是对象本身。a和b都使用了new操作符，意味着将在内存中产生两个内容为"foo"的字符串，既然是&#8220;两个&#8221;，它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值，所以使用"=="操作符，结果会是false。诚然，a和b所指的对象，它们的内容都是"foo"，应该是&#8220;相等&#8221;，但是==操作符并不涉及到对象内容的比较。<br />
对象内容的比较，正是equals方法做的事。<br />
看一下Object对象的equals方法是如何实现的：<br />
boolean equals(Object o){<br />
return this==o;<br />
}<br />
Object对象默认使用了==操作符。所以如果你自创的类没有覆盖equals方法，那你的类使用equals和使用==会得到同样的结果。同样也可以看出，Object的equals方法没有达到equals方法应该达到的目标：比较两个对象内容是否相等。因为答案应该由类的创建者决定，所以Object把这个任务留给了类的创建者。<br />
看一下一个极端的类：<br />
Class Monster{<br />
private String content;<br />
...<br />
boolean equals(Object another){ return true;}<br />
}<br />
我覆盖了equals方法。这个实现会导致无论Monster实例内容如何，它们之间的比较永远返回true。<br />
所以当你是用equals方法判断对象的内容是否相等，请不要想当然。因为可能你认为相等，而这个类的作者不这样认为，而类的equals方法的实现是由他掌握的。如果你需要使用equals方法，或者使用任何基于散列码的****（HashSet,HashMap,HashTable），请察看一下java doc以确认这个类的equals逻辑是如何实现的。<br />
<strong><wbr>问题三：</strong><wbr><font style="line-height: 1.3em" color="red">String到底变了没有？</font><wbr><br />
没有。因为String被设计成不可变(immutable)类，所以它的所有对象都是不可变对象。请看下列代码：<br />
String s = "Hello";<br />
s = s + " world!";<br />
s所指向的对象是否改变了呢？从本系列第一篇的结论很容易导出这个结论。我们来看看发生了什么事情。在这段代码中，s原先指向一个String对象，内容是"Hello"，然后我们对s进行了+操作，那么s所指向的那个对象是否发生了改变呢？答案是没有。这时，s不指向原来那个对象了，而指向了另一个String对象，内容为"Hello world!"，原来那个对象还存在于内存之中，只是s这个引用变量不再指向它了。<br />
通过上面的说明，我们很容易导出另一个结论，如果经常对字符串进行各种各样的修改，或者说，不可预见的修改，那么使用String来代表字符串的话会引起很大的内存开销。因为String对象建立之后不能再改变，所以对于每一个不同的字符串，都需要一个String对象来表示。这时，应该考虑使用StringBuffer类，它允许修改，而不是每个不同的字符串都要生成一个新的对象。并且，这两种类的对象转换十分容易。<br />
同时，我们还可以知道，如果要使用内容相同的字符串，不必每次都new一个String。例如我们要在构造器中对一个名叫s的String引用变量进行初始化，把它设置为初始值，应当这样做：<br />
public class Demo {<br />
private String s;<br />
...<br />
public Demo {<br />
s = "Initial Value";<br />
}<br />
...<br />
}<br />
而非<br />
s = new String("Initial Value");<br />
后者每次都会调用构造器，生成新对象，性能低下且内存开销大，并且没有意义，因为String对象不可改变，所以对于内容相同的字符串，只要一个String对象来表示就可以了。也就说，多次调用上面的构造器创建多个对象，他们的String类型属性s都指向同一个对象。<br />
上面的结论还基于这样一个事实：对于字符串常量，如果内容相同，Java认为它们代表同一个String对象。而用关键字new调用构造器，总是会创建一个新的对象，无论内容是否相同。<br />
至于为什么要把String类设计成不可变类，是它的用途决定的。其实不只String，很多Java标准类库中的类都是不可变的。在开发一个系统的时候，我们有时候也需要设计不可变类，来传递一组相关的值，这也是面向对象思想的体现。不可变类有一些优点，比如因为它的对象是只读的，所以多线程并发访问也不会有任何问题。当然也有一些缺点，比如每个不同的状态都要一个对象来代表，可能会造成性能上的问题。所以Java标准类库还提供了一个可变版本，即StringBuffer。<br />
<strong><wbr>问题四：</strong><wbr><font style="line-height: 1.3em" color="red">final关键字到底修饰了什么？</font><wbr><br />
final使得被修饰的变量"不变"，但是由于对象型变量的本质是&#8220;引用&#8221;，使得&#8220;不变&#8221;也有了两种含义：引用本身的不变，和引用指向的对象不变。<br />
引用本身的不变：<br />
final StringBuffer a=new StringBuffer("immutable");<br />
final StringBuffer b=new StringBuffer("not immutable");<br />
a=b;//编译期错误<br />
引用指向的对象不变：<br />
final StringBuffer a=new StringBuffer("immutable");<br />
a.append(" broken!"); //编译通过<br />
可见，final只对引用的&#8220;值&#8221;(也即它所指向的那个对象的内存地址)有效，它迫使引用只能指向初始指向的那个对象，改变它的指向会导致编译期错误。至于它所指向的对象的变化，final是不负责的。这很类似==操作符：==操作符只负责引用的&#8220;值&#8221;相等，至于这个地址所指向的对象内容是否相等，==操作符是不管的。<br />
理解final问题有很重要的含义。许多程序漏洞都基于此----final只能保证引用永远指向固定对象，不能保证那个对象的状态不变。在多线程的操作中,一个对象会被多个线程共享或修改，一个线程对对象无意识的修改可能会导致另一个使用此对象的线程崩溃。一个错误的解决方法就是在此对象新建的时候把它声明为final，意图使得它&#8220;永远不变&#8221;。其实那是徒劳的。<br />
<strong><wbr>问题五：</strong><wbr><font style="line-height: 1.3em" color="red">到底要怎么样初始化！</font><wbr><br />
本问题讨论变量的初始化，所以先来看一下Java中有哪些种类的变量。<br />
1. 类的属性，或者叫值域<br />
2. 方法里的局部变量<br />
3. 方法的参数<br />
对于第一种变量，Java虚拟机会自动进行初始化。如果给出了初始值，则初始化为该初始值。如果没有给出，则把它初始化为该类型变量的默认初始值。<br />
int类型变量默认初始值为0<br />
float类型变量默认初始值为0.0f<br />
double类型变量默认初始值为0.0<br />
boolean类型变量默认初始值为false<br />
char类型变量默认初始值为0(ASCII码)<br />
long类型变量默认初始值为0<br />
所有对象引用类型变量默认初始值为null，即不指向任何对象。注意数组本身也是对象，所以没有初始化的数组引用在自动初始化后其值也是null。<br />
对于两种不同的类属性，static属性与instance属性，初始化的时机是不同的。instance属性在创建实例的时候初始化，static属性在类加载，也就是第一次用到这个类的时候初始化，对于后来的实例的创建，不再次进行初始化。这个问题会在以后的系列中进行详细讨论。<br />
对于第二种变量，必须明确地进行初始化。如果再没有初始化之前就试图使用它，编译器会****。如果初始化的语句在try块中或if块中，也必须要让它在第一次使用前一定能够得到赋值。也就是说，把初始化语句放在只有if块的条件判断语句中编译器也会****，因为执行的时候可能不符合if后面的判断条件，如此一来初始化语句就不会被执行了，这就违反了局部变量使用前必须初始化的规定。但如果在else块中也有初始化语句，就可以通过编译，因为无论如何，总有至少一条初始化语句会被执行，不会发生使用前未被初始化的事情。对于try-catch也是一样，如果只有在try块里才有初始化语句，编译部通过。如果在catch或finally里也有，则可以通过编译。总之，要保证局部变量在使用之前一定被初始化了。所以，一个好的做法是在声明他们的时候就初始化他们，如果不知道要出事化成什么值好，就用上面的默认值吧！<br />
其实第三种变量和第二种本质上是一样的，都是方法中的局部变量。只不过作为参数，肯定是被初始化过的，传入的值就是初始值，所以不需要初始化。<br />
<strong><wbr>问题六：</strong><wbr><font style="line-height: 1.3em" color="red">instanceof是什么东东？</font><wbr><br />
instanceof是Java的一个二元操作符，和==，&gt;，&lt;是同一类东东。由于它是由字母组成的，所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例，返回boolean类型的数据。举个例子：<br />
String s = "I AM an Object!";<br />
boolean isObject = s instanceof Object;<br />
我们声明了一个String对象引用，指向一个String对象，然后用instancof来测试它所指向的对象是否是Object类的一个实例，显然，这是真的，所以返回true，也就是isObject的值为True。<br />
instanceof有一些用处。比如我们写了一个处理账单的系统，其中有这样三个类：<br />
public class Bill {//省略细节}<br />
public class PhoneBill extends Bill {//省略细节}<br />
public class GasBill extends Bill {//省略细节}<br />
在处理程序里有一个方法，接受一个Bill类型的对象，计算金额。假设两种账单计算方法不同，而传入的Bill对象可能是两种中的任何一种，所以要用instanceof来判断：<br />
public double calculate(Bill bill) {<br />
if (bill instanceof PhoneBill) {<br />
//计算电话账单<br />
}<br />
if (bill instanceof GasBill) {<br />
//计算燃气账单<br />
}<br />
...<br />
}<br />
这样就可以用一个方法处理两种子类。<br />
然而，这种做法通常被认为是没有好好利用面向对象中的多态性。其实上面的功能要求用方法重载完全可以实现，这是面向对象变成应有的做法，避免回到结构化编程模式。只要提供两个名字和返回值都相同，接受参数类型不同的方法就可以了：<br />
public double calculate(PhoneBill bill) {<br />
//计算电话账单<br />
}<br />
public double calculate(GasBill bill) {<br />
//计算燃气账单<br />
}<br />
所以，使用instanceof在绝大多数情况下并不是推荐的做法，应当好好利用多态。
 <img src ="http://www.blogjava.net/hjh132/aggbug/190474.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-04-02 22:32 <a href="http://www.blogjava.net/hjh132/archive/2008/04/02/190474.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>三步学会Java Socket编程</title><link>http://www.blogjava.net/hjh132/archive/2008/03/25/188606.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Tue, 25 Mar 2008 14:47:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/03/25/188606.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/188606.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/03/25/188606.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/188606.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/188606.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 第一步　充分理解Socket 　　 1.什么是socket 　　 所谓socket通常也称作"套接字"，用于描述IP地址和端口，是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 　　 以J2SDK-1.3为例，Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端，Socket是建立网络连接时使...&nbsp;&nbsp;<a href='http://www.blogjava.net/hjh132/archive/2008/03/25/188606.html'>阅读全文</a><img src ="http://www.blogjava.net/hjh132/aggbug/188606.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-03-25 22:47 <a href="http://www.blogjava.net/hjh132/archive/2008/03/25/188606.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>含参数的宏与函数的区别</title><link>http://www.blogjava.net/hjh132/archive/2008/03/24/188206.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Mon, 24 Mar 2008 04:21:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/03/24/188206.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/188206.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/03/24/188206.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/188206.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/188206.html</trackback:ping><description><![CDATA[<p style="background: white; margin: 0cm 0cm 0pt; line-height: 180%; text-align: left" align="left"><span style="font-size: 12pt; color: #666666; line-height: 180%; font-family: 宋体">1.</span><span style="color: #666666; line-height: 180%; font-family: 宋体"><span style="font-size: 12pt">函数调用时，先求出实参表达式的值，然后带入形参。而使用带参的宏只是进行简单的字符替换。</span><br />
<span style="font-size: 12pt">2.</span><span style="font-size: 12pt">函数调用是在程序运行时处理的，分配临时的内存单元；而宏展开则是在编译时进行的，在展开时并不分配内存单元，不进行值的传递处理，也没有&#8220;返回值&#8221;的概念。</span><br />
<span style="font-size: 12pt">3.</span><span style="font-size: 12pt">对函数中的实参和形参都要定义类型，二者的类型要求一致，如不一致，应进行类型转换；而宏不存在类型问题，宏名无类型，它的参数也无类型，只是一个符号代表，展开时带入指定的字符即可。宏定义时，字符串可以是任何类型的数据。</span><br />
<span style="font-size: 12pt">4.</span><span style="font-size: 12pt">调用函数只可得到一个返回值，而用宏可以设法得到几个结果。</span><br />
<span style="font-size: 12pt">5.</span><span style="font-size: 12pt">使用宏次数多时，宏展开后源程序长，因为每展开一次都使程序增长，而函数调用不使源程序变长。</span><br />
<span style="font-size: 12pt">6.</span><span style="font-size: 12pt">宏替换不占运行时间，只占编译时间；而函数调用则占运行时间（分配单元、保留现场、值传递、返回）。</span></span></p>
<p style="background: white; margin: 0cm 0cm 0pt; line-height: 180%; text-align: left" align="left"><span style="font-size: 12pt; color: #666666; line-height: 180%; font-family: 宋体">一般来说，用宏来代表简短的表达式比较合适。</span></p>
<p style="background: white; margin: 0cm 0cm 0pt; line-height: 180%; text-align: left" align="left"><span style="font-size: 12pt; color: #666666; line-height: 180%; font-family: 宋体">有时使用宏时会引起理解错误：</span></p>
<p style="background: white; margin: 0cm 0cm 0pt; line-height: 180%; text-align: left" align="left"><span style="font-size: 12pt; color: #666666; line-height: 180%; font-family: 宋体">例：</span></p>
<p style="background: white; margin: 0cm 0cm 0pt; line-height: 180%; text-align: left" align="left"><span style="font-size: 12pt; color: #666666; line-height: 180%; font-family: 宋体">＃include&lt;iostream.h&gt;<br />
#define max(a,b) ((a&gt;b)?a:b)<br />
void main()<br />
{<br />
&nbsp;int i=3,j=2;<br />
&nbsp;cout&lt;&lt;max(++i,j)&lt;&lt;endl;<br />
&nbsp;cout&lt;&lt;i&lt;&lt;"&nbsp; "&lt;&lt;j&lt;&lt;endl;<br />
}</span></p>
<p style="background: white; margin: 0cm 0cm 0pt; line-height: 180%; text-align: left" align="left"><span style="font-size: 12pt; color: #666666; line-height: 180%; font-family: 宋体">运行结果：</span></p>
<p style="background: white; margin: 0cm 0cm 0pt; line-height: 180%; text-align: left" align="left"><span style="font-size: 12pt; color: #666666; line-height: 180%; font-family: 宋体">5</span></p>
<p style="background: white; margin: 0cm 0cm 0pt; line-height: 180%; text-align: left" align="left"><span style="font-size: 12pt; color: #666666; line-height: 180%; font-family: 宋体">5&nbsp; 2</span></p>
<img src ="http://www.blogjava.net/hjh132/aggbug/188206.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-03-24 12:21 <a href="http://www.blogjava.net/hjh132/archive/2008/03/24/188206.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>英语考研复习规划</title><link>http://www.blogjava.net/hjh132/archive/2008/03/23/187999.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Sun, 23 Mar 2008 03:01:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/03/23/187999.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/187999.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/03/23/187999.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/187999.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/187999.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp; 研究生考试的&#8220;战役&#8221;尚未打响，新一轮备考大戏已经迫不及待地悄然开演。在这里，哈尔滨新东方考研组教师李春亮、罗娉、瞿平、朱殿勇、张时聪为07年考研的同学详细的规划了全年的复习方向，希望大家能顺利的通过考研考试。</p>
<p>　　第一阶段 寒假——三月：突击词汇，打好基础</p>
<p>　　在这段时间里，同学们应该仔细背诵新东方的考研单词红宝书。词汇学习不是一日之功，同学们应该在已有学习的基础上，进一步突破和巩固词汇的数量和用法。充足的词汇量不仅是应试阅读理解部分的基础，而且是整个考试成功的关键，因此考生在备考之初必须花大力气积极扩展词汇量。在考研大纲规定的5 500个词汇和词组中，考生至少应该掌握其中的90%以上，而且应该选择其中一部分词汇和词组做重点记忆。不仅如此，考生还应该记忆一些虽然超纲、但出现频率很高的词语，记忆一些与目前的社会热点问题相关的新词语，如有关计算机网络的常用词语。而且，词汇的记忆应该结合文章的上下文，而不能孤立地进行。只有在上下文中记忆的词语印象才更深刻，理解才更透彻，这同时也锻炼了考生根据上下文推测和理解词义的能力。</p>
<p>　　第二阶段 三月——六月 广泛阅读，综合提高</p>
<p>　　在这段时间里，大量阅读英文杂志。在备考考研的过程中，正确处理精读和泛读的关系很重要，不少考生过多地强调阅读的量，而忽视了阅读的质。如果不精读文章，就难以有积累，而积累可以是有形的，也可能是无形的。有形的积累包括词汇量的扩大，尤其是重点词汇的积累；对语法结构和词语用法更熟练的掌握，尤其是把握复杂句结构的能力。无形的积累包括对英语特有句式的感受(其中包括所谓&#8220;语感&#8221;)以及对英语为母语的人表达出来的特有思维方式的深刻体会和认识。近几年来，考研文章的题材呈现出两个显著特点，一是选文内容比较新颖，二是涉及的领域较广阔，包括经济、文化、教育、科技、法律、社会等问题。为了达到对文章的透彻理解，考生必须积极扩大自己的知识面。除了上面提到的传统话题外，考生还要了解新知识，了解社会热点问题，如：计算机网络、信息等技术的应用带来的影响，医学、教育、法律等方面的一些争议，经济上的热点问题、全球化问题等等。相信知识面的扩大无疑将加深考生对文章的理解，拓展把握题的思路。</p>
<p>　　第三阶段 七月——十一月&nbsp; 研读真题 把握考点</p>
<p>　　最后几个月考生主要做两本材料：一本要去做02年到06年五年的真题，因为道理很简单，过去这么多年考研真题当中，最有价值最宝贵的就是02到06年真题，这五年题目要求大家考研三个月要好好研究，甚至做两轮都是可以，目的是把握命题真正的规律。去更好的为07年考试做好充分的准备。第二本书大家一定要有一本模拟题集，如果没有模拟题集，光靠真题，一些新的题型没有办法准备，必须准备模拟题集，同样认真去做，认真体会，认真归纳去总结，我们考前几个月复习重点就是这两本书。</p>
<p>　　第四阶段 十二月——考前 考前冲刺 力保成功</p>
<p>　　在这一段，需要根据对报考院校信息的掌握和了解，对复习做出准确的定位与必要的调整，提炼考点，突出重点，提高复习的有效性，掌握答题技巧，融会贯通，确保取得理想成绩。</p>
<p>　　总之，英语考研需要早做准备，有心者事必成！<br />
</p>
<img src ="http://www.blogjava.net/hjh132/aggbug/187999.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-03-23 11:01 <a href="http://www.blogjava.net/hjh132/archive/2008/03/23/187999.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C struct 中字节对齐问题</title><link>http://www.blogjava.net/hjh132/archive/2008/03/17/186849.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Mon, 17 Mar 2008 12:26:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/03/17/186849.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/186849.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/03/17/186849.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/186849.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/186849.html</trackback:ping><description><![CDATA[VC中下面几个结构体大小分别是多少呢<br />
struct MyStruct <br />
{ <br />
&nbsp;&nbsp;&nbsp;&nbsp;double m4; <br />
&nbsp;&nbsp;&nbsp;&nbsp;char m1; <br />
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;m3； <br />
}; <br />
struct MyStruct { <br />
&nbsp;&nbsp;&nbsp;&nbsp;char m1; <br />
&nbsp;&nbsp;&nbsp;&nbsp;double m4; <br />
&nbsp;&nbsp;&nbsp;&nbsp;int m3; <br />
}; <br />
#pragma pack(push)//保存对齐状态 <br />
#pragma pack(16)&nbsp;&nbsp;//设置为16字节对齐<br />
struct test <br />
{ <br />
&nbsp;&nbsp; char m1; <br />
&nbsp;&nbsp; int m3;&nbsp;&nbsp;<br />
&nbsp;&nbsp; double m4;&nbsp;&nbsp;&nbsp;&nbsp; <br />
}; <br />
#pragma pack(pop)//恢复对齐状态 <br />
如果你的答案不是16，24和16，相信下面的内容对你很有帮助。<br />
1、 sizeof应用在结构上的情况 <br />
请看下面的结构： <br />
struct MyStruct <br />
{ <br />
double dda1; <br />
char dda; <br />
int type <br />
}; <br />
对结构MyStruct采用sizeof会出现什么结果呢？sizeof(MyStruct)为多少呢？也许你<br />
会这样求： <br />
sizeof(MyStruct)=sizeof(double)+sizeof(char)+sizeof(int)=13 <br />
但是当在VC中测试上面结构的大小时，你会发现sizeof(MyStruct)为16。你知道为什<br />
么在VC中会得出这样一个结果吗？ <br />
其实，这是VC对变量存储的一个特殊处理。<span style="color: red; background-color: yellow">为了提高CPU的存储速度，VC对一些变量的<br />
起始地址做了&#8220;对齐&#8221;处理。</span>在默认情况下，VC规定各成员变量存放的起始地址相对于结<br />
构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。下面列出常用类型的<br />
对齐方式(vc6.0,32位系统)。<br />
类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;对齐方式（变量存放的起始地址相对于结构的起始地址的偏移量） <br />
Char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;偏移量必须为sizeof(char)即1的倍数 <br />
Short&nbsp;&nbsp;&nbsp;&nbsp; 偏移量必须为sizeof(short)即2的倍数 <br />
int&nbsp;&nbsp; 偏移量必须为sizeof(int)即4的倍数 <br />
float 偏移量必须为sizeof(float)即4的倍数 <br />
double  偏移量必须为sizeof(double)即8的倍数 <br />
各成员变量在存放的时候根据在结构中出现的顺序依次申请空间，同时按照上面的对<br />
齐方式调整位置，空缺的字节VC会自动填充。同时VC为了确保结构的大小为结构的字节边<br />
界数（即该结构中占用最大空间的类型所占用的字节数）的倍数，所以在为最后一个成员<br />
变量申请空间后，还会根据需要自动填充空缺的字节。 <br />
下面用前面的例子来说明VC到底怎么样来存放结构的。 <br />
struct MyStruct <br />
{ <br />
double dda1; <br />
char dda; <br />
int type <br />
}； <br />
为上面的结构分配空间的时候，VC根据成员变量出现的顺序和对齐方式，先为第一个<br />
成员dda1分配空间，其起始地址跟结构的起始地址相同（刚好偏移量0刚好为sizeof(doub<br />
le)的倍数），该成员变量占用sizeof(double)=8个字节；接下来为第二个成员dda分配空<br />
间，这时下一个可以分配的地址对于结构的起始地址的偏移量为8，是sizeof(char)的倍数<br />
，所以把dda存放在偏移量为8的地方满足对齐方式，该成员变量占用 sizeof(char)=1个字<br />
节；接下来为第三个成员type分配空间，这时下一个可以分配的地址对于结构的起始地址<br />
的偏移量为9，不是sizeof (int)=4的倍数，为了满足对齐方式对偏移量的约束问题，VC自<br />
动填充3个字节（这三个字节没有放什么东西），这时下一个可以分配的地址对于结构的起<br />
始地址的偏移量为12，刚好是sizeof(int)=4的倍数，所以把type存放在偏移量为12的地方<br />
，该成员变量占用sizeof(int)=4个字节；这时整个结构的成员变量已经都分配了空间，总<br />
的占用的空间大小为：8+1+3+4=16，刚好为结构的字节边界数（即结构中占用最大空间的<br />
类型所占用的字节数sizeof(double)=8）的倍数，所以没有空缺的字节需要填充。所以整<br />
个结构的大小为：sizeof(MyStruct)=8+1+ 3+4=16，其中有3个字节是VC自动填充的，没有<br />
放任何有意义的东西。 <br />
下面再举个例子，交换一下上面的MyStruct的成员变量的位置，使它变成下面的情况<br />
： <br />
struct MyStruct <br />
{ <br />
char dda; <br />
double dda1; <br />
int type <br />
}； <br />
这个结构占用的空间为多大呢？在VC6.0环境下，可以得到sizeof(MyStruc)为24。结<br />
合上面提到的分配空间的一些原则，分析下VC怎么样为上面的结构分配空间的。（简单说<br />
明） <br />
struct MyStruct <br />
{ <br />
 char dda;//偏移量为0，满足对齐方式，dda占用1个字节； <br />
double dda1;//下一个可用的地址的偏移量为1，不是sizeof(double)=8 <br />
 //的倍数，需要补足7个字节才能使偏移量变为8（满足对齐 <br />
 //方式），因此VC自动填充7个字节，dda1存放在偏移量为8 <br />
 //的地址上，它占用8个字节。 <br />
int type；//下一个可用的地址的偏移量为16，是sizeof(int)=4的倍 <br />
 //数，满足int的对齐方式，所以不需要VC自动填充，type存 <br />
 //放在偏移量为16的地址上，它占用4个字节。 <br />
}；//所有成员变量都分配了空间，空间总的大小为1+7+8+4=20，不是结构 <br />
 //的节边界数（即结构中占用最大空间的类型所占用的字节数sizeof <br />
 //(double)=8）的倍数，所以需要填充4个字节，以满足结构的大小为 <br />
 //sizeof(double)=8的倍数。 <br />
所以该结构总的大小为：sizeof(MyStruc)为1+7+8+4+4=24。其中总的有7+4=11个字节<br />
是VC自动填充的，没有放任何有意义的东西。<br />
VC对结构的存储的特殊处理确实提高CPU存储变量的速度，但是有时候也带来了一些麻<br />
烦，我们也屏蔽掉变量默认的对齐方式，自己可以设定变量的对齐方式。<br />
VC 中提供了#pragma pack(n)来设定变量以n字节对齐方式。n字节对齐就是说变量存<br />
放的起始地址的偏移量有两种情况：第一、如果n大于等于该变量所占用的字节数，那么偏<br />
移量必须满足默认的对齐方式，第二、如果n小于该变量的类型所占用的字节数，那么偏移<br />
量为n的倍数，不用满足默认的对齐方式。结构的总大小也有个约束条件，分下面两种情况<br />
：如果n大于所有成员变量类型所占用的字节数，那么结构的总大小必须为占用空间最大的<br />
变量占用的空间数的倍数； <br />
<br />
否则必须为n的倍数。下面举例说明其用法。 <br />
#pragma pack(push) //保存对齐状态 <br />
#pragma pack(4)//设定为4字节对齐 <br />
struct test <br />
{ <br />
 char m1; <br />
 double m4; <br />
 int m3; <br />
}; <br />
#pragma pack(pop)//恢复对齐状态 <br />
以上结构的大小为16，下面分析其存储情况，首先为m1分配空间，其偏移量为0，满足<br />
我们自己设定的对齐方式（4字节对齐），m1占用1个字节。接着开始为 m4分配空间，这时<br />
其偏移量为1，需要补足3个字节，这样使偏移量满足为n=4的倍数（因为sizeof(double)大<br />
于n）,m4占用8个字节。接着为m3分配空间，这时其偏移量为12，满足为4的倍数，m3占用<br />
4个字节。这时已经为所有成员变量分配了空间，共分配了16个字节，满足为n的倍数。如<br />
果把上面的#pragma pack(4)改为#pragma pack(16)，那么我们可以得到结构的大小为24。<br />
（请读者自己分析） <br />
<br />
2、 sizeof用法总结 <br />
<br />
在VC中，sizeof有着许多的用法，而且很容易引起一些错误。下面根据sizeof后面的<br />
参数对sizeof的用法做个总结。 <br />
A． 参数为数据类型或者为一般变量。例如sizeof(int),sizeof(long)等等。这种情<br />
况要注意的是不同系统系统或者不同编译器得到的结果可能是不同的。例如int类型在16位<br />
系统中占2个字节，在32位系统中占4个字节。 <br />
B． 参数为数组或指针。下面举例说明. <br />
int a[50]; //sizeof(a)=4*50=200; 求数组所占的空间大小 <br />
int *a=new int[50];// sizeof(a)=4; a为一个指针，sizeof(a)是求指针 <br />
 //的大小,在32位系统中，当然是占4个字节。 <br />
C． 参数为结构或类。Sizeof应用在类和结构的处理情况是相同的。但有两点需要注<br />
意，第一、结构或者类中的静态成员不对结构或者类的大小产生影响，因为静态变量的存<br />
储位置与结构或者类的实例地址无关。 <br />
第二、没有成员变量的结构或类的大小为1，因为必须保证结构或类的每一 <br />
个实例在内存中都有唯一的地址。 <br />
下面举例说明， <br />
Class Test{int a;static double c};//sizeof(Test)=4. <br />
Test *s;//sizeof(s)=4,s为一个指针。 <br />
Class test1{ };//sizeof(test1)=1; <br />
D． 参数为其他。下面举例说明。 <br />
 int func(char s[5]); <br />
 { <br />
 cout&lt; //数的参数在传递的时候系统处理为一个指针，所 <br />
 //以sizeof(s)实际上为求指针的大小。 <br />
 return 1; <br />
} <br />
sizeof(func(&#8220;1234&#8221;))=4//因为func的返回类型为int，所以相当于 <br />
 //求sizeof(int). <br />
以上为sizeof的基本用法，在实际的使用中要注意分析VC的分配变量的分配策略，这<br />
样的话可以避免一些错误 
<img src ="http://www.blogjava.net/hjh132/aggbug/186849.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-03-17 20:26 <a href="http://www.blogjava.net/hjh132/archive/2008/03/17/186849.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>成功人士必看的5个故事</title><link>http://www.blogjava.net/hjh132/archive/2008/03/08/184768.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Sat, 08 Mar 2008 15:43:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/03/08/184768.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/184768.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/03/08/184768.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/184768.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/184768.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 如果你想成功，又不知如何才能成功，这篇文章能给你一些提示。&nbsp;&nbsp;<a href='http://www.blogjava.net/hjh132/archive/2008/03/08/184768.html'>阅读全文</a><img src ="http://www.blogjava.net/hjh132/aggbug/184768.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-03-08 23:43 <a href="http://www.blogjava.net/hjh132/archive/2008/03/08/184768.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>语义搜索引擎综述</title><link>http://www.blogjava.net/hjh132/archive/2008/02/26/182333.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Tue, 26 Feb 2008 15:02:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/02/26/182333.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/182333.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/02/26/182333.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/182333.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/182333.html</trackback:ping><description><![CDATA[关键字：搜索引擎、语义搜索 <br />
1．网络搜索引擎的现状<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;搜索引擎在互联网的重要地位由来已久。Yahoo 作为门户网站奇迹般崛起所依靠的正是搜索引擎，Google 也以搜索引擎的技术创新、竞价排名和专业风格创造了新的奇迹。在国内，百度也在很短的时间里凭借搜索引擎取得很大成功。 <br />
搜索引擎技术及业务模式的持续创新，不仅为互联网注入了活力，而且其自身的价值正被重新审视和评估。互联网的发展使得信息短缺的问题被信息泛滥所取代，世界也已从信息时代走进信息经济时代，这两者的区别在于，前者强调信息本身的价值，只要解决信息资源短缺就会带来价值的提升；后者认为信息并不稀缺，只有通过对信息的甄别、加工提纯和挖掘才能带来价值的提升。 <br />
据中国国家互联网中心（CNNIC）2005年1月发布的第15次互联网发展统计报告[[1]]，我国的网络用户有9400万人，比2004年6月发布的14次报告又增加了700万。在用户经营使用的网络服务中，搜索引擎仅次于电子邮箱排在第2位。有98.5%的用户上网最主要的是获取信息，通过搜索引擎获取信息的占70.7%，搜索引擎成为未知状态下发现有效信息的最有效方式。 <br />
2．网络搜索引擎的工作原理<br />
搜索引擎的原理，可以看作三步： <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1）从互联网上抓取网页 <br />
利用能够从互联网上自动收集网页的Spider系统程序，自动访问互联网，并沿着任何网页中的所有URL爬到其它网页，重复这过程，并把爬过的所有网页收集回来。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2） 建立索引数据库 <br />
由分析索引系统程序对收集回来的网页进行分析，提取相关网页信息（包括网页所在URL、编码类型、页面内容包含的所有关键词、关键词位置、生成时间、大小、与其它网页的链接关系等），根据一定的相关度算法进行大量复杂计算，得到每一个网页针对页面文字中及超链中每一个关键词的相关度（或重要性），然后用这些相关信息建立网页索引数据库。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3）在索引数据库中搜索排序 <br />
当用户输入关键词搜索后，由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好，所以只需按照现成的相关度数值排序，相关度越高，排名越靠前。最后，由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。 <br />
3．网络搜索引擎的评价指标<br />
评价搜索引擎的主要指标有查全率、查准率、响应时间、覆盖范围、用户使用方便性等等。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1）查全率（Recall） <br />
查全率又叫召回率，是指检索出的相关文档占全部相关文档的比率。即用户通过搜索引擎所获取的有用信息与整个Internet中相关信息的比率。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2）查准率（Precision） <br />
查准率是指获取的相关文档与获取文档的比率。即用户通过搜索引擎所获取的真正是用户需要的信息占获取信息的比率。搜索引擎的查准率是个复杂的概念，一方面表示搜索引擎对搜索结果的排序能力，另一方面却体现了搜索引擎对垃圾网页的抗干扰能力。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3）响应时间（Response Time） <br />
响应时间是指用户发出查询请求后到看到查询结果的这段时间。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4）覆盖范围（Coverage） <br />
覆盖范围是指搜索引擎索引的Web页面占整个Internet中页面的比例。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5）用户方便性（Convenience） <br />
用户方便性包括查询接口是否直观、易于使用、查询语法是否丰富，显示结果是否易于查看等。 <br />
4．网络搜索引擎的主要技术<br />
网络搜索引擎做为信息检索系统的一个分支，理所当然的涉及到信息检索方面的技术，同时它做为一个独立、成熟的领域也有自己的技术空间： <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1）目录检索和全文检索 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 传统的搜索引擎一般使用两种技术来实现信息检索： <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一是使用网站分类技术实现目录检索，即把网站进行树状的归类，登陆的网站属于至少一个类别，对每个站点都有简略的描述。Yahoo采用了这种方法。为了分类科学准确，需要有一支各科人才组成的维护队伍。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 二是使用全文检索技术。全文检索技术处理的对象是文本，它能够对大量文档建立由字（词）到文档的倒排索引，在此基础上，用户使用关键词来对文档进行查询时，系统将给用户返回该关键词的网页。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2）索引文件结构 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 全文检索的两个关键技术是索引和检索。检索又是基于所建立的索引结构进行的。索引文件主要分为正向索引和倒排索引。正向索引是基于文档的，每一个文档对应一个索引文件，其中记录着这个文档中出现的词。倒排索引是基于词汇表的，每一个特征词对应一个倒排索引，其中记录着所有出现过这个词的文档。目前，技术比较成熟、也是公认效率较高的索引存储结构是倒排文件。需要明确的是，中文的构词方式、句法、语法都与英文有很大区别，因此，不同于英文全文检索的索引方法，中文全文检索中主要的建立索引方法是字索引和词索引。字索引保证了高的召回率，不会出现漏查错误，但是会出现多查和误查。检索结果中会出现不少与检索意图无关的条目。另外，基于字索引的全文检索的检索效率也比较低。而词索引保证了较高的查准率和检索效率，但是由于中文分词能力的局限，导致基于词索引的全文检索必定会存在漏检情况。另外，对于未登陆词，词索引显得力不从心。现存比较实用的中文信息检索系统一般都结合使用了字词混合索引，或者扩展的词索引，来保证召回率和查准率。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 网络搜索引擎由于各自的策略不同，在选择索引对象的内容时也有不同。有些搜索引擎对于信息库中的页面建立全文索引，有些只建立摘要部分，或者每个段落前面部分的索引，还有些搜索引擎（如Google）建立索引的时候，同时考虑超文本的不同标记所表示的不同含义。如粗体、大字体显示的东西往往比较重要；放在锚链中的信息往往是它所指向页面的信息的概括，所以用它来作为它所指向的页面的重要信息。Google，Infoseek还在建立索引的过程中收集页面中的超链接。这些超链接反映了收集到的信息之间的空间结构。利用这些结果信息可以提高页面相关度判别时候的准确度。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3）数据源文件的分布策略 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;搜索引擎的数据源文件主要包括索引文件和原文档。目前，数据源文件的分布策略主要有集中存放和分布式存放。文献[2]指出Google就是采用了集群的方式集中存放数据源文件，事实上，几乎所有的商业搜索引擎都采用集中存放的方式，这是因为分布式存放策略有一个硬伤，就是搜索请求从一个端点传送到另外一个端点消耗的时间让用户难以忍受。但是，随着互联网上信息的急剧膨胀，改进后的分布式策略是最终的解决方案。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4）索引大文件的存放策略 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 倒排文件是一个大文件，这是因为倒排文件中存放的记录（Hit）表示的是文档中出现本特征词的状况。目前的商业搜索引擎的文档集中的文档数量非常之大，因此倒排文件的记录数也会很大，最终导致倒排文件的尺寸非常大。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于大文件首先考虑的是压缩，像是Google存放的索引文件就是经过压缩的。好的压缩算法同时要求压缩比尽可能高、查找压缩文件容易、解压缩时间短。即使压缩之后的文件仍然大到不能以独立的文件形式存放，目前有两种分离大文件为多个小文件的策略： <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一是基于文档集的分离。主要是将文档集分成有限个子集，对于每一个子集建立各自的索引文件，检索过程就演变为对多个文档子集的检索，最后做的合并处理。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一是基于索引文件的分离。即是将索引大文件分为有限个子文件，并设计一张表记录这种分离情况，当要检索这个索引文件时就查找这张表，根据表的记录去查找每一个子文件。文献[3]指出Google将索引大文件分离为若干个小文件，每一个小文件都以独立的linux文件存放，通过linux系统管理这些小文件，这正是这个策略的一种表现。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5）排序算法 <br />
各种搜索引擎的技术改进和优化，都直接反应到搜索结果的排序上。许多搜索引擎都在进一步研究新的排序方法，来提升客户的满意度。目前，不同搜索引擎基于不同的搜索策略设计有多种不同的排序算法，以Google为例，它采用很多种排序算法支持搜索结果，其中最典型的代表有PageRank和HillTop，这两种都属于超链接分析技术。 <br />
5．语义搜索的兴起<br />
目前实用化的信息检索系统主要基于人工分类目录或关键词匹配。前者对海量信息资源的揭示的效率不高、深度有限；后者在信息的语义和语用的揭示上有局限性。信息检索系统在智能处理能力上的缺乏，导致这些工具远远不能满足用户的需求。如何解决好诸如信息组织、知识表示、机器理解与人机交互等问题，对于提高信息利用的效率，是非常重要和迫切的。近年来，语义网的提出为解决这些问题提供了锲机，由于语义网中的资源被结构化，能被计算机所理解和识别，这样提供了改进传统搜索技术的机会。语义检索的目的是通过从语义网上获取的数据增强并改进传统的搜索结果(基于信息检索技术)。它实现了用户检索请求的本体化，整个搜索引擎像领域专家一样，不仅给出查询结果，还给出了与检索请求相关的资源，大大提高检索的精度和覆盖率；实现了本体层次的检索，突破了关键词检索局限于形式的固有缺陷。它的出现提高了用户的满意度，减少了不相关的返回结果，提高了检索的精度和覆盖率。 <br />
最初人们通过代表语义的HTML标签来改造网页，主要有GDA系统和<br />
SHOE(SimpleHTMLOntologyExtensions)系统等。但这些系统的不足是仅能处理经过HTML标签改造的网页。 <br />
XML是非常有前途的语言，因为它将网页的内容、结构和描述分离，并且非常适合知识的描述。但是XML通过它的句法结构仅能描述一些语义属性。 <br />
语义网络的建立使得以语义为基础的搜索引擎同时可以建立起来。在语义搜索引擎中，每一个查询都在一些本体的上下文范围内执行，来自本体的一些指南可以提高检索的准确性。在语义检索中，使用的是概念匹配，即自动抽取文档的概念，加以标引，用户在系统的辅助下选用合适的词语表达自己的信息需求，然后在两者之间执行概念匹配，即匹配在语义上相同、相近、相包含的词语。 <br />
6．语义搜索当前的应用<br />
当前基于ontology 的语义检索系统已经得到了广泛的关注和应用，出现了一系列优秀的应用系统，其中典型的有两个：SWOOGLE——语义网中的基于蜘蛛网的检索系统，系统从每个搜索到的文本中抽取本体，根据本体之间的相关度来比较文本之间的关系；TUCUXI(InTelligent Hunter Agent for Concept Understanding and LeXical ChaIning)，该系统根据查找的本体在网页上爬行，决定哪种网页最满足需求。特别的，TUCUXI 判断文档的相关性是同Map of Meanings 比较用户所查询的相关本体。Map of Meanings 语义丰富，用来对资源文本的表达。TUCUXI 采用了MOMIS 公用字典来表征用户查询的本体。在语义网中,基于Ontology 的语义检索搜索引擎有SHOE、OntoBroker、OntoSeek、WebKB、Corese。 <br />
7．总结<br />
语义搜索引擎是未来搜索引擎发展的方向，它的发展主要受限于语义web的发展以及自然语言处理技术。语义搜索引擎设计的最终目标是让计算机具有人的智能，以解决问题的形式返回给用户。语义搜索引擎设计的当前目标是让计算机返回的结果更有针对性、准确性。 <br />
<br />
参考文献： <br />
[1] CNNIC第15次互联网发展状况报告 <br />
[[2]] Luiz Andr&#233; Barroso, Jeffrey Dean, Urs H?lzle. WEB SEARCH FOR A PLANET: THE GOOGLE CLUSTER ARCHITECTURE<br />
[[3]] Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. The Google File System<img id="paperPicArea1" style="display: none; position: relative" src="http://imgcache.qq.com/qzone_v4/b.gif"  alt="" />
<img src ="http://www.blogjava.net/hjh132/aggbug/182333.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-02-26 23:02 <a href="http://www.blogjava.net/hjh132/archive/2008/02/26/182333.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是流媒体技术</title><link>http://www.blogjava.net/hjh132/archive/2008/02/26/182329.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Tue, 26 Feb 2008 14:49:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/02/26/182329.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/182329.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/02/26/182329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/182329.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/182329.html</trackback:ping><description><![CDATA[随着互联网的普及，利用网络传输声音与视频信号的需求也越来越大。广播电视等媒体上网后，也都希望通过互联网来发布自己的音视频节目。但是，音视频在存贮时文件的体积一般都十分庞大。在网络带宽还很有限的情况下，花几十分钟甚至更长的时间等待一个音视频文件的传输，不能不说是一件让人头疼的事。流媒体技术的出现，在一定程度上使互联网传输音视频难的局面得到改善。
<p>&nbsp;&nbsp;&nbsp;&nbsp;传统的网络传输音视频等多媒体信息的方式是完全下载后再播放，下载常常要花数分钟甚至数小时。而采用流媒体技术，就可实现流式传输，将声音、影像或动画由服务器向用户计算机进行连续、不间断传送，用户不必等到整个文件全部下载完毕，而只需经过几秒或十几秒的启动延时即可进行观看。当声音视频等在用户的机器上播放时，文件的剩余部分还会从服务器上继续下载。
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果将文件传输看作是一次接水的过程，过去的传输方式就像是对用户做了一个规定，必须等到一桶水接满才能使用它，这个等待的时间自然要受到水流量大小和桶的大小的影响。而流式传输则是，打开水头龙，等待一小会儿，水就会源源不断地流出来，而且可以随接随用，因此，不管水流量的大小，也不管桶的大小，用户都可以随时用上水。从这个意义上看，流媒体这个词是非常形象的。
<p>&nbsp;&nbsp;&nbsp;&nbsp;流式传输技术又分两种，一种是顺序流式传输，另一种是实时流式传输。
<p>&nbsp;&nbsp;&nbsp;&nbsp;顺序流式传输是顺序下载，在下载文件的同时用户可以观看，但是，用户的观看与服务器上的传输并不是同步进行的，用户是在一段延时后才能看到服务器上传出来的信息，或者说用户看到的总是服务器在若干时间以前传出来的信息。在这过程中，用户只能观看已下载的那部分，而不能要求跳到还未下载的部分。顺序流式传输比较适合高质量的短片段，因为它可以较好地保证节目播放的最终质量。它适合于在网站上发布的供用户点播的音视频节目。
<p>&nbsp;&nbsp;&nbsp;&nbsp;在实时流式传输中，音视频信息可被实时观看到。在观看过程中用户可快进或后退以观看前面或后面的内容，但是在这种传输方式中，如果网络传输状况不理想，则收到的信号效果比较差。
<p>&nbsp;&nbsp;&nbsp;&nbsp;在运用流媒体技术时，音视频文件要采用相应的格式，不同格式的文件需要用不同的播放器软件来播放，所谓&#8220;一把钥匙开一把锁&#8221;。目前，采用流媒体技术的音视频文件主要有三大&#8220;流派&#8221;。
<p>&nbsp;&nbsp;&nbsp;&nbsp;一是微软的ASF（Advanced Stream Format）。这类文件的后缀是.asf和.wmv，与它对应的播放器是微软公司的 &#8220;Media Player&#8221;。用户可以将图形、声音和动画数据组合成一个ASF格式的文件，也可以将其他格式的视频和音频转换为ASF格式，而且用户还可以通过声卡和视频捕获卡将诸如麦克风、录像机等外设的数据保存为ASF格式。
<p>&nbsp;&nbsp;&nbsp;&nbsp;二是RealNetworks公司的RealMedia，它包括RealAudio、RealVideo和RealFlash三类文件，其中RealAudio用来传输接近CD音质的音频数据，RealVideo用来传输不间断的视频数据，RealFlash则是RealNetworks公司与Macromedia公司联合推出的一种高压缩比的动画格式，这类文件的后缀是.rm，文件对应的播放器是&#8220;RealPlayer&#8221;。
<p>&nbsp;&nbsp;&nbsp;&nbsp;三是苹果公司的QuickTime。这类文件扩展名通常是 .mov，它所对应的播放器是&#8220;QuickTime。&#8221;
<p>&nbsp;&nbsp;&nbsp;&nbsp;此外，MPEG、AVI、DVI、SWF等都是适用于流媒体技术的文件格式。
<p>&nbsp;&nbsp;&nbsp;&nbsp;由于流媒体技术在一定程度上突破了网络带宽对多媒体信息传输的限制，因此被广泛运用于网上直播、网络广告、视频点播、远程教育、远程医疗、视频会议、企业培训、电子商务等多种领域。
<p>&nbsp;&nbsp;&nbsp;&nbsp;对于新闻媒体来说，流媒体带来了机遇，也带来了挑战。
<p>&nbsp;&nbsp;&nbsp;&nbsp;流媒体技术为传统媒体在互联网上开辟更广阔的空间提供了可能。广播电视媒体节目的上网更为方便，听众、观众在网上点播节目更为简单，网上音视频直播也将得到广泛运用。
<p>&nbsp;&nbsp;&nbsp;&nbsp;流媒体技术将过去传统媒体的&#8220;推&#8221;式传播，变为受众的&#8220;拉&#8221; 式传播，受众不再是被动地接受来自广播电视的节目，而是在自己方便的时间来接收自己需要的信息。这将在一定程度上提高受众的地位，使他们在新闻传播中占有主动权，也使他们的需求对新闻媒体的活动产生更为直接的影响。
<p>&nbsp;&nbsp;&nbsp;&nbsp;流媒体技术的广泛运用也将模糊广播、电视与网络之间的界限，网络既是广播电视的辅助者与延伸者，也将成为它们的有力的竞争者。利用流媒体技术，网络将提供新的音视频节目样式，也将形成新的经营方式，例如收费的点播服务。发挥传统媒体的优势，利用网络媒体的特长，保持媒体间良好的竞争与合作，是未来网络的发展之路，也是未来传统媒体的发展之路。流媒体技术的运用只是一个开端，无数新的技术还在前面等着我们。 （作者：彭兰/中国人民大学新闻与社会发展研究中心研究员）</p>
<img src ="http://www.blogjava.net/hjh132/aggbug/182329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-02-26 22:49 <a href="http://www.blogjava.net/hjh132/archive/2008/02/26/182329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数字转化成中文</title><link>http://www.blogjava.net/hjh132/archive/2008/02/26/182215.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Tue, 26 Feb 2008 06:18:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/02/26/182215.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/182215.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/02/26/182215.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/182215.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/182215.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: /**&nbsp;*//**&nbsp;*&nbsp;数字转化成中文输出，如123456789，输出为一亿二千三百四拾五万六千七百八百九&nbsp;*&nbsp;@author&nbsp;HJH&nbsp;*&nbsp;@version&nbsp;1.0,02/26/2008&nbsp;*/public&nbsp;class&nbsp;ReadNumber{&nbsp;...&nbsp;&nbsp;<a href='http://www.blogjava.net/hjh132/archive/2008/02/26/182215.html'>阅读全文</a><img src ="http://www.blogjava.net/hjh132/aggbug/182215.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-02-26 14:18 <a href="http://www.blogjava.net/hjh132/archive/2008/02/26/182215.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>作为一个男人必须明白的22个道理</title><link>http://www.blogjava.net/hjh132/archive/2008/02/25/181910.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Mon, 25 Feb 2008 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/02/25/181910.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/181910.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/02/25/181910.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/181910.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/181910.html</trackback:ping><description><![CDATA[<p>1、男人是社会的主体，不管你信或不信。所以男人应该有种责任感。</p>
<p>2、25岁之前，请记得，爱情通常是假的，或者不是你所想象的那样纯洁和永远。如果你过了25岁，那么你应该懂得这个道理.。</p>
<p>3、吃饭7成饱最舒服。对待女友最多也请你保持在7成。</p>
<p>4、30岁之前请爱惜自己的身体，前30年你找病，后30年病找你。如果你过了30岁,你自然也会懂得这个道理。</p>
<p>5、事业远比爱情重要。如果说事业都不能永恒，那么爱情只能算是昙花一现。</p>
<p>6、不要轻易接受追求你的女孩。女追男隔层纱，如果你很容易就陷进去，你会发现你会错过很多东西，失去很多东西。</p>
<p>7、请你相信，能用钱解决的问题，都不是问题。如果你认为钱索王道，有钱有女人，没钱没女人，那么，女人不是问题。 </p>
<p>8、请永远积极向上。每个男人都有他可爱的地方，但是不可爱的地方只有：不积极面对生活。 </p>
<p>9、不要连续2次让同一个女人受到伤害。好马不吃回头草是有道理的。如果认真考虑过该分手，那么请不要做任何舍不得的行动。 </p>
<p>10、如果你和你前女友能做朋友，那么你要问自己：为什么？如果分手后还是朋友，那么只有2个可能：你们当初都只是玩玩而已，没付出彼此最真的感情；或者：必定有个人是在默默的付出无怨无悔！ </p>
<p>11、永远不要太相信女人在恋爱时的甜言蜜语。都说女人爱听甜言蜜语，其实，男人更喜欢。 </p>
<p>12、请不要为自己的相貌或者身高过分担心和自卑。人是动物，但是区别于动物。先天条件并不是阻挡你好好生活的借口。<br />
人的心灵远胜于嗝玻胂嘈耪獾恪Ｈ绻腥艘韵嗝踩&#8746;耍敲茨阋裁槐匾谝狻?BR&gt;因为　 他从某种意义来讲，只是只动物，你会跟动物怄气吗？ </p>
<p>13、失恋时，只有2种可能，要么你爱她她不爱你，或者相反。那么，当你爱的人不再爱你，或者从来没爱过你时，你没有遗憾，因为你失去的只是一个不爱你的人。 </p>
<p>14、请不要欺骗善良的女孩。这个世界上善良的女孩太少。 </p>
<p>15、不能偏激的认为金钱万能，至少，金钱治不好艾滋病。 </p>
<p>16、请一定要有自信。你就是一道风景，没必要在别人风景里面仰视。</p>
<p>17、受到再大的打击，只要生命还在请相信每天的太阳都是新的。 </p>
<p>18、爱情永远不可能是天平.你想在爱情里幸福就要舍得伤心。 </p>
<p>19、如果你喜欢一个她认为别人应该对她好的MM，请尽早放弃。没有人是应该对一个人好的。如果她不明白这个道理,也就是她根本不懂得珍惜。 </p>
<p>20、不要因为寂寞而找"GF"，寂寞的男人请要学会品味寂寞。请记住：即使寂寞，远方黑暗的夜空下，一定有人和你一样,寂寞的人不同，仰望的星空却是唯一。 </p>
<p>21、任何事没有永远，也别问怎样才能永远。生活有很多无奈，请尽量充实自己，充实生活。请善待生活.。 </p>
<p>22、男人有很多无奈，生活很累，但是因为生活才有意义。当你以为你一无所有时，你至少还有时间，时间能抚平一切创伤。所以请不要流泪......<br />
</p>
<img src ="http://www.blogjava.net/hjh132/aggbug/181910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-02-25 10:30 <a href="http://www.blogjava.net/hjh132/archive/2008/02/25/181910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>女人是这样折腾老公的</title><link>http://www.blogjava.net/hjh132/archive/2008/02/23/181566.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Sat, 23 Feb 2008 03:14:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/02/23/181566.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/181566.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/02/23/181566.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/181566.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/181566.html</trackback:ping><description><![CDATA[<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于起床</span><br />
<br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：起床了，起床了，你不说今天要早起开会吗？</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：别说话，我再睡一会儿。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：快起吧，要不该迟到了。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：你别碰我！我要睡觉！！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：&#8230;&#8230;</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：呀！都该迟到了！你是怎么叫我的！</span><br />
<br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于吃东西</span><br />
<br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：这个话梅我吃了一半儿，挺好吃的，剩下的给你吃吧。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：我不爱吃话梅。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：不行，你就爱吃！你是不是嫌弃我吃过的！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：这鱼挺好吃的，来。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：你的脏筷子碰过的，谁吃！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：那你吃过一半儿我还吃呢，我不嫌弃你，你怎么嫌弃我？</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：那就对了。我嫌弃你说明我比你干净。我比你干净你凭什么嫌弃我？！<br />
</span><br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于离婚</span><br />
<br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：咱们要是离了婚，房子归我，我的钱我也得拿走。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：那我的钱呢？</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：你的钱都是我的钱，你有什么钱！还有，离婚后你每月的收入也得给我</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">80%</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">。嗯，如果你再结婚了，那就给我</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">60%</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">就成了。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：老婆，我决不跟你离婚！<br />
</span><br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于干家务</span><br />
<br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：咱们把家务分分工吧。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：好。首先，脏活儿累活儿得男人干吧，比如擦地、刷马桶、擦桌子&#8230;&#8230;</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：这对。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：你是学理工的，我是学文科的，带电的东西得你干吧，像洗衣机、电冰箱、电饭锅、电熨斗&#8230;&#8230;</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：这&#8230;&#8230;行！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：男主外，女主内。和外人打交道的活儿得你干吧，买菜、交水电费、取报纸牛奶&#8230;&#8230;</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：行，行，那你干什么？</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：别着急呀。厨房里油烟这么大，可毁皮肤了，做饭得你干吧。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：你就告诉我你干什么吧。<br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：我也有很多要干的呀。我可以陪着你，监督你，赞美你，安慰你&#8230;&#8230;</span><br />
<br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于孩子</span><br />
<br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：咱们要个孩子吧。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：行。老婆：那你喜欢咱们的孩子吗？</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：喜欢。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：那不行！你就得喜欢我一个人！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：好，好，就喜欢你一个人。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：那我的孩子你凭什么不喜欢啊！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：咱还是别要孩子了。<br />
</span><br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于睡觉</span><br />
<br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：咱们盖那个双人被吧。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：别！那到第二天早上就全裹你身上了。我什么也盖不着。还是自己盖自己的吧，心里踏实。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：哼，你就是自己盖，到明天早上照样也得被我裹走！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
<br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于打电话</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
<br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：你为什么不给我打电话？！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：倒打一耙！今天不是说好你给我打电话的吗？结果我等了一天，也没等到你的电话。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：我是说过，可我又改主意了。张爱玲说，女人有改主意的特权。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：那你改主意没跟我说呀！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：我说了，我心里说的，谁让你和我心灵不相通的。<br />
</span><br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于异性朋友<br />
</span><br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：我可以有男朋友，你不能干涉我。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：行，我也交个女朋友。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：不行！</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：凭什么你行我不行呀？</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：我交男朋友，你做不到的人家能做到，我就不会老挑你的毛病了，有利于家庭幸福。你交女朋友，我心眼儿小，吃醋和你吵架，不利于家庭安定。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：那我也心眼儿小。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：一个男人，和女人一样心眼儿小，亏你好意思说！<br />
</span><br />
<span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于拿东西</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
<br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：这个袋子你也拿着吧。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：我都拿着四个袋子了，你什么都不拿，好意思吗？</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：那我还挽着你呢！你</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">100</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">多斤呢，我拿的东西不比你拿的东西重多了。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
<br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">关于散步</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
<br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：咱们一直散步到那条马路吧。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老公：到那儿太远了，一会儿该走不回来了。</span><span lang="EN-US" style="font-size: 10.5pt; color: #153702; font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"><br />
</span><span style="font-size: 10.5pt; color: #153702; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">老婆：没事，你背我回来。</span> 
<img src ="http://www.blogjava.net/hjh132/aggbug/181566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-02-23 11:14 <a href="http://www.blogjava.net/hjh132/archive/2008/02/23/181566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>心情郁闷</title><link>http://www.blogjava.net/hjh132/archive/2008/02/22/181537.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Fri, 22 Feb 2008 15:46:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/02/22/181537.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/181537.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/02/22/181537.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/181537.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/181537.html</trackback:ping><description><![CDATA[刚才与gf吵架了，现在想向她解释都没机会了，要等到明天咯。唉，不就是我冲动点说话太过分了，郁闷！！<br />
我想说我错了，但没机会了，电话已关机。。
<img src ="http://www.blogjava.net/hjh132/aggbug/181537.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-02-22 23:46 <a href="http://www.blogjava.net/hjh132/archive/2008/02/22/181537.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java打印全排列</title><link>http://www.blogjava.net/hjh132/archive/2008/02/22/181284.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Fri, 22 Feb 2008 02:26:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/02/22/181284.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/181284.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/02/22/181284.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/181284.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/181284.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;permute&nbsp;(</span><span style="color: #0000ff">char</span><span style="color: #000000">&nbsp;[]&nbsp;str,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;low,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;high)<br />
<img id="Codehighlighter1_61_359_Open_Image" onclick="this.style.display='none'; Codehighlighter1_61_359_Open_Text.style.display='none'; Codehighlighter1_61_359_Closed_Image.style.display='inline'; Codehighlighter1_61_359_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_61_359_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_61_359_Closed_Text.style.display='none'; Codehighlighter1_61_359_Open_Image.style.display='inline'; Codehighlighter1_61_359_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_61_359_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_61_359_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(low&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;high)<br />
<img id="Codehighlighter1_83_139_Open_Image" onclick="this.style.display='none'; Codehighlighter1_83_139_Open_Text.style.display='none'; Codehighlighter1_83_139_Closed_Image.style.display='inline'; Codehighlighter1_83_139_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_83_139_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_83_139_Closed_Text.style.display='none'; Codehighlighter1_83_139_Open_Image.style.display='inline'; Codehighlighter1_83_139_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_83_139_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_83_139_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(str);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
<img id="Codehighlighter1_150_356_Open_Image" onclick="this.style.display='none'; Codehighlighter1_150_356_Open_Text.style.display='none'; Codehighlighter1_150_356_Closed_Image.style.display='inline'; Codehighlighter1_150_356_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_150_356_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_150_356_Closed_Text.style.display='none'; Codehighlighter1_150_356_Open_Image.style.display='inline'; Codehighlighter1_150_356_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_150_356_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_150_356_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;low;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;high;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_192_352_Open_Image" onclick="this.style.display='none'; Codehighlighter1_192_352_Open_Text.style.display='none'; Codehighlighter1_192_352_Closed_Image.style.display='inline'; Codehighlighter1_192_352_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_192_352_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_192_352_Closed_Text.style.display='none'; Codehighlighter1_192_352_Open_Image.style.display='inline'; Codehighlighter1_192_352_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_192_352_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_192_352_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">[]&nbsp;temp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;str.clone();&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">temp&nbsp;will&nbsp;be&nbsp;str</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;str[low];&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">with&nbsp;i&nbsp;and&nbsp;low</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp[low]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;str[i];&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">swapped</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;permute(temp,low</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">,high);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<img src ="http://www.blogjava.net/hjh132/aggbug/181284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-02-22 10:26 <a href="http://www.blogjava.net/hjh132/archive/2008/02/22/181284.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java交换数据</title><link>http://www.blogjava.net/hjh132/archive/2008/02/19/180761.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Tue, 19 Feb 2008 15:43:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/02/19/180761.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/180761.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/02/19/180761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/180761.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/180761.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_0_69_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_69_Open_Text.style.display='none'; Codehighlighter1_0_69_Closed_Image.style.display='inline'; Codehighlighter1_0_69_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_0_69_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_0_69_Closed_Text.style.display='none'; Codehighlighter1_0_69_Open_Image.style.display='inline'; Codehighlighter1_0_69_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span id="Codehighlighter1_0_69_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_0_69_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;交换两个数据，可用数组或class<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;HJH<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@version</span><span style="color: #008000">&nbsp;1.0，02/19/2008<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Swap<br />
<img id="Codehighlighter1_90_1140_Open_Image" onclick="this.style.display='none'; Codehighlighter1_90_1140_Open_Text.style.display='none'; Codehighlighter1_90_1140_Closed_Image.style.display='inline'; Codehighlighter1_90_1140_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_90_1140_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_90_1140_Closed_Text.style.display='none'; Codehighlighter1_90_1140_Open_Image.style.display='inline'; Codehighlighter1_90_1140_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_90_1140_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_90_1140_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;s1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;s2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;StringBuffer&nbsp;s3&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;StringBuffer&nbsp;s4&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Swap(String&nbsp;s1,String&nbsp;s2,StringBuffer&nbsp;s3,StringBuffer&nbsp;s4)<br />
<img id="Codehighlighter1_281_348_Open_Image" onclick="this.style.display='none'; Codehighlighter1_281_348_Open_Text.style.display='none'; Codehighlighter1_281_348_Closed_Image.style.display='inline'; Codehighlighter1_281_348_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_281_348_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_281_348_Closed_Text.style.display='none'; Codehighlighter1_281_348_Open_Image.style.display='inline'; Codehighlighter1_281_348_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_281_348_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_281_348_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.s1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s1;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.s2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s2;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.s3&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s3;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.s4&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s4;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;swapString(String&nbsp;str1,String&nbsp;str2)<br />
<img id="Codehighlighter1_402_431_Open_Image" onclick="this.style.display='none'; Codehighlighter1_402_431_Open_Text.style.display='none'; Codehighlighter1_402_431_Closed_Image.style.display='inline'; Codehighlighter1_402_431_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_402_431_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_402_431_Closed_Text.style.display='none'; Codehighlighter1_402_431_Open_Image.style.display='inline'; Codehighlighter1_402_431_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_402_431_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_402_431_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;str2;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;str1;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;swapStringBuffer(StringBuffer&nbsp;str3,StringBuffer&nbsp;str4)<br />
<img id="Codehighlighter1_503_532_Open_Image" onclick="this.style.display='none'; Codehighlighter1_503_532_Open_Text.style.display='none'; Codehighlighter1_503_532_Closed_Image.style.display='inline'; Codehighlighter1_503_532_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_503_532_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_503_532_Closed_Text.style.display='none'; Codehighlighter1_503_532_Open_Image.style.display='inline'; Codehighlighter1_503_532_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_503_532_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_503_532_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s3&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;str4;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s4&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;str3;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main&nbsp;(String[]&nbsp;args)<br />
<img id="Codehighlighter1_584_1138_Open_Image" onclick="this.style.display='none'; Codehighlighter1_584_1138_Open_Text.style.display='none'; Codehighlighter1_584_1138_Closed_Image.style.display='inline'; Codehighlighter1_584_1138_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_584_1138_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_584_1138_Closed_Text.style.display='none'; Codehighlighter1_584_1138_Open_Image.style.display='inline'; Codehighlighter1_584_1138_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_584_1138_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_584_1138_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;str1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">123</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;str2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">456</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;str3&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuffer(</span><span style="color: #000000">"</span><span style="color: #000000">159</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;str4&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuffer(</span><span style="color: #000000">"</span><span style="color: #000000">357</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Swap&nbsp;swap&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Swap(str1,str2,str3,str4);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">交换前<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(swap.s1&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;swap.s2&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;swap.s3&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;swap.s4);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap.swapString(swap.s1,swap.s2);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap.swapStringBuffer(swap.s3,swap.s4);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">交换后<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(swap.s1&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;swap.s2&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;swap.s3&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;swap.s4);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
 <img src ="http://www.blogjava.net/hjh132/aggbug/180761.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-02-19 23:43 <a href="http://www.blogjava.net/hjh132/archive/2008/02/19/180761.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA正则表达式4种常用功能</title><link>http://www.blogjava.net/hjh132/archive/2008/01/21/176802.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Mon, 21 Jan 2008 09:23:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/01/21/176802.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/176802.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/01/21/176802.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/176802.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/176802.html</trackback:ping><description><![CDATA[<p>正则表达式在字符串处理上有着强大的功能，sun在jdk1.4加入了对它的支持 <br />
　<br />
下面简单的说下它的4种常用功能：<br />
　　<br />
查询：<br />
　　<br />
以下是代码片段：<br />
String str="abc efg ABC"; </p>
<p>String regEx="a|f"; //表示a或f </p>
<p>Pattern p=Pattern.compile(regEx); </p>
<p>Matcher m=p.matcher(str); </p>
<p>boolean rs=m.find(); <br />
　　<br />
如果str中有regEx，那么rs为true，否则为flase。如果想在查找时忽略大小写，则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);<br />
　　<br />
提取：<br />
以下是代码片段：<br />
String regEx=".+\(.+)$"; </p>
<p>String str="c:\dir1\dir2\name.txt"; </p>
<p>Pattern p=Pattern.compile(regEx); </p>
<p>Matcher m=p.matcher(str); </p>
<p>boolean rs=m.find(); </p>
<p>for(int i=1;i&lt;=m.groupCount();i++){ </p>
<p>&nbsp;&nbsp; System.out.println(m.group(i)); </p>
<p>} <br />
　　<br />
以上的执行结果为name.txt，提取的字符串储存在m.group(i)中，其中i最大值为m.groupCount();<br />
　　<br />
分割：<br />
　　<br />
以下是代码片段：</p>
<p>String regEx="::"; </p>
<p>Pattern p=Pattern.compile(regEx); </p>
<p>String[] r=p.split("xd::abc::cde"); </p>
<p>执行后，r就是{"xd","abc","cde"}，其实分割时还有跟简单的方法： </p>
<p>String str="xd::abc::cde"; </p>
<p>String[] r=str.split("::"); <br />
　　<br />
替换（删除）：<br />
　　<br />
以下是代码片段：</p>
<p>String regEx="a+"; //表示一个或多个a </p>
<p>Pattern p=Pattern.compile(regEx); </p>
<p>Matcher m=p.matcher("aaabbced a ccdeaa"); </p>
<p>String s=m.replaceAll("A"); <br />
　　<br />
结果为"Abbced A ccdeA"<br />
　　<br />
如果写成空串，既可达到删除的功能，比如：<br />
　　<br />
String s=m.replaceAll("");<br />
　　<br />
结果为"bbced ccde"<br />
　　<br />
附：<br />
　　<br />
\D 等於 [^0-9] 非数字 <br />
\s 等於 [ \t\n\x0B\f ] 空白字元 <br />
\S 等於 [^ \t\n\x0B\f ] 非空白字元 <br />
\w 等於 [a-zA-Z_0-9] 数字或是英文字 <br />
\W 等於 [^a-zA-Z_0-9] 非数字与英文字 <br />
　　<br />
^ 表示每行的开头<br />
$ 表示每行的结尾</p>
<img src ="http://www.blogjava.net/hjh132/aggbug/176802.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-01-21 17:23 <a href="http://www.blogjava.net/hjh132/archive/2008/01/21/176802.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个程序员的奋斗历程[转]</title><link>http://www.blogjava.net/hjh132/archive/2008/01/19/176507.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Sat, 19 Jan 2008 10:18:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/01/19/176507.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/176507.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/01/19/176507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/176507.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/176507.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;也许,你还为你的未来感到迷茫,也许,你还对程序员的历程感到神奇.就让我们来看看hawk的奋斗历程好了.<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这些日子我一直在写一个实时操作系统内核，已有小成了，等写完我会全部公开，希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向 ，所以把我的经历写出来与大家共勉，希望能给刚如行的朋友们一点点帮助。 一转眼我在IT行业学习工作已经七年多了，这期间我做过网页，写过MIS、数据库，应用程序，做过通信软件、硬件驱动、协议栈，到现在做操作系统内核和IC相关开发，这中间走了很多弯路，也吃了不少苦。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我上的是一个三流的高校，就连同一个城市的人多数都不知道。因为学校不好也就没 有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了，大一开学前的假期我就开始了学习，记得我买的第一本书是《计算机基础DOS3.0》，大家别吓着了，其实当时已经普及了DOS6.22了，只是我在书店里看到了DOS4.0，5.0，6.0的书，以为像英语那样是第四、五、六册，记得当时到处找DOS1.0，现在想想也幸好我没有找到：）开学前我学完了PASCAL，那时既没有计算机也没有人可以请教，我连程序是什么的概念都没有， 只好死记硬背代码，然后拿纸写，我一直到大三才有了一台486，在这之前用纸写了多少程序我也记不清楚了，只知道最长的一个我拿A4大小的草稿纸写了30多页，我的C语言、C++ 、VC都是在这样的条件下入门的。所以说条件是可以克服的，希望我的经历多少给条件艰苦的同学们一点信心。第一次上机是在我姐夫的机房，我的心情激动的无与伦比，但是一上机我立刻傻了眼，他们用的是英文版的Win3.1，我的那点DOS知识都见了鬼，上机提心吊胆的一阵瞎摸，一不小心把Word弄成了全屏，怎么都还不了原，当时真是心急如焚，我以为机器被我弄坏了。第一个C语言程序，就是那个经典的HelloWorld，我调了几个星期，上机机会非常少，也没有书告诉我开发环境（TC2.0）需要设置，而且开始我都不知道有编译器，我甚至自作聪明把写好的程序扩展名从.c改成.exe，结果可想而知。大一学完了C、X86的汇编、数据结构、C++。由于精力都花在自学上了，大一下四门课挂了彩，三类学校就是这点好，挂上一二十门也照样毕业。不过扯远点说，我那么刻苦都及不了格，可见我们国家的计算机教育有多死板。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;大二准备学VC和BC，当时难以取舍，后来选了VC，不为别的，只为书店里两本书，VC 那本便宜6块钱。我的努力在班上无人能及，学的日夜不分，大三有了计算机后更是如此， 很多次父亲半夜教训我说我不要命了，我一直觉得自己基础差，记忆又不行，条件也不好 ，所以觉得只有多花点时间才能赶上别人。居然后来有许多朋友说我有学计算机的天赋， 让我哭笑不得。我用的是486，16M内存，1G硬盘，当时同学们的配置都是P166MMX，我安装 一个Windows NT4.0需要一个通宵，编译一个BC5.0向导生成的程序需要近两个小时，我的显示器是个二手的，辐射非常大，开机屏幕冒火花，看起来很酷的：），有一次程序写的太久，觉得怎么白色的编辑器背景变成了紫色，以为显示器坏了，后来才发现眼睛不行了，不过说来也奇怪，到今天我的视力还能保持1.5，真是个奇迹。但是就是那台破机器陪伴了我两年，让我学会了VC、Delphi、SQLServer等。后来那台机器给我阿姨打字用，据她说一天她正打的开心，一股青烟夹着火苗从显示器钻出来，之后它才寿终正寝。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;大三假期找了个机会在一个计算机研究所实习，与其说实习不如说是做义工，工作了两个月一分钱没有拿。但是这两个月对我的发展帮助很大，让我早一步了解了社会，刚去的时候我当然是一窍不通，在那里我熟悉了网络，学会了Delphi和Oracle。由于工作很认真， 得到了比较好的评价，在一位长者的引荐下，我开始和他们一起做项目，这使我在大三大四就有了自己的收入，大四又找了两家MIS公司兼职，虽然钱不多，但是在学生期间有1000多的收入我已经非常满足了，我终于用自己赚的钱把计算机换了。大四下开始找工作，这时我的工作经验已经比较多（当然现在想想非常幼稚），开始听父母的想去那个研究所， 实习过那个部门也希望我能去，但是不知道为什么最后不了了之，这种单位就是比较官僚 ，我一气之下就到了我兼职的一个公司做MIS的TeamLeader。在大三到毕业一年的时间，做过了各种MIS，从煤气、烟厂、公安、铁路、饮食到高校，什么有钱做什么，工作也很辛苦 ，经常加班和熬通宵，从跟客户谈需求到设计、编码、测试、交付都要上。那时觉得很有成就感，觉得自己还不错，现在想想真是很肤浅。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;刚走上工作岗位的学生很容易被误导，各种开发工具让人眼花缭乱，同时也觉得很受 公司器重，但这样工作永远是一个低层次的开发者。不要跟我说什么系统分析有多么多么重要，多么多么难。你以为自己跟用户谈需求做设计就是系统分析和设计了吗，国内又有几个公司能够做的很到位很规范？我是ISO9000内审员，也在Rational公司受过多次培训，拿了4个证书，还有一个公司让我去做CMM。这些我听过很多，但是很多事情到国内就变了性质，一个公司不是通过了ISO9000或者CMM就能规范了，我现在在一家有几十年历史的外企工作，里面的管理不是一般国内企业能及的。作为一个毕业不久以前没有步入过社会的学生，几乎不可能在很短的时间掌握系统分析和设计，面向对象、UML只是一个工具，关键是人本身的思想，不是说你熟悉了C++、Rose就能够做出好的设计，相反如果你具备了很高的素质，你可以用C写出比别人用C++更加模块化的程序。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;话说远一些，国内软件开发行业有一个怪圈，很多人觉得VC &gt; Delphi &gt; VB，真是很搞笑。这几个软件我都做过开发，说白了他们都是工具，应该根据应用的需要选择采用哪个，而不是觉得哪个上层次。如果你因为用某个开发工具很有面子而选择的话，只能说明你很浅薄。如果说层次，那么这些工具都不上层次，因为它们用来用去都是一些系统的API，微软的朋友不会因为你记住他们多少个API或者多少个类就会觉得你很了不起，你永远只是他们的客户，他们看重的是你口袋里的银子。我也做过系统内核，我也封装过很多API，同样我也不会看重那些使用这些API做二次开发的客户，除非他能够作出自己独到的设计。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至于有人认为C++ &gt; C那更是让人笑掉大牙，不妨你去打听一下，现在有几个操作系统内核是用C++写的，又有几个实时系统用的是C++，当然我也不是说C++不好，但是目前的内核和实时系统中C++还无法与C匹敌，至于说C++适合做应用系统的开发那是另外一回事。所以我的观点是不在于你用什么工具和语言，而在于你干什么工作。你的设计体现了你的技术层次。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这样干了一年我觉得非常苦闷，做的大多数都是熟练工种的活，个人技术上没有太多 的提高也看不到方向。所以决定离开这个城市去上海，寻求更好的发展，并且打算放弃我以前的MIS转到通信行业。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;写到这里不能不提到我女朋友，我们是在来上海前半年认识的，她大四在我公司实习，公司派她给我写文档，我们的感情发展的很快。她告诉我很多事情，她家原本是改革开放的第一批暴发户，她母亲爱打牌，输掉了几百万，还欠了很多债，她有男朋友，但是她对他没有感情，只因为他给了她母亲两万多块钱，后来还强迫她写了四万块的借条，她男朋友背叛过她并且不止一次打她，现在逼她结婚不然就要她还钱。这人居然还是一个高校的老师！她母亲把父亲给她的学费花了，因为拖欠学费她没有办法拿到毕业证。她母亲现在有病需要钱，我拿出了自己的一点积蓄并且跟朋友们接了一些，替她交了学费并给她母亲看 病（后来才知道看病的钱又不知所终，就连她母亲是不是有病我都不知道，但她也是没有办法）。这个时候我家知道了一些事情，坚决反对我和她在一起，她原来的男朋友也极力破坏。无奈之下我们决定早一定离开这个伤心的城市，并且瞒着我们家。由于时间仓促，我只准备了4000块钱，她仅有的几百块钱也被她母亲要去了，我买了三张票，一张是中午的，两张是晚上的，中午我的家人把我送上船，他们一离开我就下了船，我和她乘坐晚上的船离开了这个我和她生活了很多年的城市，带走的只是一身债务。没有来过上海的我们两个性倔强，都不愿意去麻烦同学和朋友。来到上海是傍晚6点半，我们都不知道该去哪里，我们找了一个20块钱的旅馆，这个房间连窗户都没有，7月份的天气酷热难耐，房间里非常闷热。第二天我们开始租房子，因为身上的钱不多，我们基本都是步行，花了一个星期时间，不知道在浦东转了多少圈后找到了一个400块的房子，但是我们都不了解上海是付三压一，还要付半个月的中介费，买了一些锅碗瓢盆后，我们身上只有800块钱了，工作都还没有着落，这800块钱要支持到我们拿到第一个月工资，为了省钱我们&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;自己做饭，每天买菜只花两块钱，她非常喜欢吃（也可能她在大学经常挨饿的愿意），看到她现在这样省吃俭用我真的很不忍心。她以前的男朋友也没有放过她，经常打电话来骚扰，并且来上海看她，还说了不少恐吓她的话，她过于善良，说他以前毕竟帮助过她，叫我不要与他一般见识。以后的每天在家就是苦等面试通知，原本我想迅速找一家MIS公司解决眼前的困难，但是她坚持让我不要放弃自己的理想，终于功夫不负有心人，我找到了一家通信公司，4000块的工资虽然赶不上MIS公司给我开出的价位，但也够在上海生存。她也找到了工作，第一天上班她哭了，这是她来上海第一次流泪，我心里很难受也很感动。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由于是全新的行业，我把自己降到了零点，我学的VC、Delphi、数据库派不上用场， 摆在我面前的是嵌入式、协议、信令一些我从未接触过的知识。我知道我没有退路，于是拼命的学习，我把自己当做一个应届毕业生一样，一分努力一分收获，半年过去我终于熟悉了工作，并且得到了公司的表彰，薪水也加了一级。后面的日子里我们省吃俭用，把欠朋友的1万多块钱还了，日子终于上了正轨。这时女朋友告诉我她想考研究生，我也很支持，于是她辞职在家备考。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;另外，在这里我要感谢我的ProjectManager，他原来是一个大通信公司的产品经理， 对人非常和善，我从他那里学到了很多知识，而且他也给了我许许多多无私的帮助。在工作上他给我充分的空间和信任。记得公司安排我维护一个接入服务器软件，由于代码量不算太小（5万行），资料和文档都不齐全，我维护起来非常吃力，所以想重新把它做一遍， 公司领导不太支持，可能觉得工作量太大，但是他极力支持我，私下里他让我放手去做， 我的维护工作他挤时间做。在他的支持下，我花了半年时间完成了接入服务器的软件，并且实现了一个相对完整的TCP/IP协议栈。在这里我学会了嵌入式系统设计、驱动开发、TCP/IP和很多通信的知识，我花了一年时间终于使自己从MIS开发转到了通信行业，并且站稳了脚跟。我的开发大量是对硬件的直接操作，不再受微软的操作系统，VC、Delhpi这些开发工具的约束，我终于看到了另外一片天空。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我做事情喜欢追根问底，随着开发的深入，软件开发与硬件联系越来越紧密，硬件知 识的匮乏又对我的发展产生了障碍，而且芯片技术基本上掌握在国外公司的手里，这对做系统级设计是一个非常大的制约，一个新产品出来，第一道利润（也往往是最丰厚的利润）常常都被IC公司如Intel、Motorola赚去了，国内的厂商只能喝点汤。所以我决心解决自己的硬件技术障碍，并打算离开通信行业，进入IC设计相关领域。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当然我明白如果我对硬件了解的非常少，没有哪家IC公司会仁慈到招我这样一个一窍不通的人来培训。所以我必须努力打好基础，学一些相关知识为以后做准备。就像我开始从MIS转到通信一样，我看过大量通信方面的书，并且给一个ISP做过RADIUS计费分拣台，在这样的背景下这家通信公司才给了我这个机会。我在的通信公司是做系统设计的，有不少PCB Layout硬件人员，平常我就注意向他们学习，由于我做的是软件，在公司看硬件资料不好意思，所以开始只好在家看，刚来上海工作我连续一年都在加班，后来不加了，因为我要挤出时间学习，通常我12点左右睡，第二天5点半起，我上班比较早，地铁上如果人不多我也用来看书。学习当然不会是一帆风顺的，有些实在不懂的问题就积累起来问硬件人员，他们的帮助使我学习进度快了很多，因为在没有人点拨的情况下自学，我的一半时间是花在解决疑难问题上，但这种问题经常是别人的一句话就可以让我豁然开朗，我非常庆幸我有这样的学习环境。在后面的一年里，我学会了看硬件原理图，学会了简单的硬件设计（模拟电路方面还有不小的差距），事情就是这样的，当你安安份份做软件，别人永远认为你是软件开发人员，在你开始学习硬件时别人未必会认同，有位中兴通讯的朋友还对我说过，一个人不可能把所有东西都学完。我也明白这一点，但我希望自己做的更好。但当你熟悉硬件后大家又会觉得你好像原本就是软硬件都懂的，同事们也都习以为常了。这个时候我可以把硬件资料堂堂正正的拿到公司看，没有人再大惊小怪了。 让我比较自豪的是我通过自己的努力做了一个IAD（软交换的终端设备）系统方案，包含软硬件的选型、设计等内容，这个方案得到了公司和同事们的认同，让我感到非常欣慰。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;技术是相辅相成的，当我的硬件有了一定的进步后，我的软件设计也有了很大的提高 ，我可以从更深层次理解问题，我做的接入服务器CPU是Motorola PowerPC860，熟悉的朋友都知道860 QMC与软件的批量数据传输通常采用BD表的方式，硬件人员做驱动的时候习惯采用固定BD表，每接收或发送数据都将数据从BD表拷贝到用户Buffer，或从用户Buffer拷贝到BD表，由于理解的比较深入，我自己重新实现了这个过程，采用动态BD表的方式，驱动从一个网口接收数据，提交给我的软件进行三层交换，直至从另外的接口发送出去，没有进行一次拷贝。这样的设计大大提高了性能，使系统的指标接近理论值。软硬件的结合使我的设计水平上了一个台阶。我现在写的这个操作系统，编译后我把程序反编译成汇编，找出其中不优化的代码，然后在C程序中进行调整。举个例子，很多CPU没有专门的乘法指令，这个大家应该都知道，在这种CPU上进行一个乘法操作常常会花费大量的指令周期， 有的朋友会说这个我知道，我会尽量避免采用&#215;号，但是事情往往不是那么简单，你知道&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C语言中数组的下标操作是怎么实现的吗？仔细看看反汇编的代码你就会明白，同样是通过下标的定位操作，C编译器会有时候会产生位移指令，但有时候会用乘法实现，两者效率往往是天壤之别，所以明白这些问题你才能将系统性能提升到极致。这些问题就不多说了，有兴趣的话以后可以共同探讨。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;话说远一点，我由衷的希望在软件上做的比较深入的朋友们有机会学学硬件以及其它 相关知识，尤其是做底层开发和嵌入式设计的。这对软件技术的提高有非常大的帮助，否则很多事情你只知道该这样但不会明白为什么该这样。我这个观点在我现在的IC公司Project Manager那里也得到了验证。他告诉我们公司现在的802.11芯片产品的软件经理原本是做该芯片硬件设计的，某某某原本是做软件的，现在在做IC，类似的例子还有很多，只是在国内这样的风气不是非常流行。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我有一些心得体会与大家分享，只有当我干好本职工作后，我才会学习与工作关系不 大的技术，这样公司的上司才不至于反感，在入门阶段的问题我通常不去问那些资深人士 ，而是问一些资历比较浅的朋友，比如刚毕业不久的学生，因为他们往往会跟你详细的讲解，而资深人士通常觉得你的问题太简单，所以回答的也很简单，我又不好意思多问。等技术上了一定的层次后我才会问他们，他们也能给你比较深入的回答。另外，有些朋友说我机会比较好，他们也希望能从事新的工作可惜没有机会，我听了只有苦笑，我的机会了解的人都应该知道，我没有出生在什么IT世家：）也没有谁一路提拔我，所有的路都是自己走出来的，我母亲去世比较早，我的后母（我叫她阿姨）看着我努力过来的，一次她看我大年30还在写程序，她说像我这样努力木头都能学出来。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我的最终目的是IC而不是PCB，所以我下一步的准备开始学习IC设计的知识。公司的同事没有懂IC设计的，后面的路又要靠自己了，我买了不少相关的书，在网上也查了很多的资料，我花了大量的时间去学习VHDL，并且用软件进行了一些简单的设计和仿真（没有设计ASIC，只是针对FPGA），随着学习的深入，我渐渐明白了IC设计的基本流程，同时也明白了这条路的艰辛。这个时候我已经做好了跳槽的准备，我向一家业界又一定知名度的IC设计公司投了简历，并通过了漫长的面试（4个多小时）。其他的一切我都比较满意，唯独薪资差强人意，我也明白原因，因为我是这个行业的新人，我没有经验，我再一次将自己清零了。公司老板问我6000多一个月能不能接受，我知道他也是照章办事。想想我通信行业的朋友们，基本上都是年薪10万以上，月薪过万的也比比皆是，朋友们也帮我介绍了不少待遇不错的公司，我该怎么选择，当时我很犹豫，我热爱我的事业，我向往我的追求， 但我也是一个普通的人，我也需要养家糊口，我也想早一点买房买车。生活给我出了一道难题。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;爱因斯坦在63岁时说过&#8220;一个人没有在30岁以前达成科学上的最大成就，那他永远都不会有。&#8221;这句话给了我很大的压力和震动，我马上就26岁了，离30只有四年时间，我必须抓紧这几年宝贵的时间，努力达到我技术上的最高峰。为了这个理想，为了能离自己的梦更近一些，我选择了这家IC公司，我明白自己的薪资和公司刚进来的硕士研究生相差无几， 但为了今后的发展只能忍受，一切又得重新开始。换行业是一个非常痛苦的过程，尤其从一个春风得意的位置换到一个陌生的岗位，感觉象从温暖的被子里钻出来跳进冰水中，让人难以接受。在原来那家通信公司，我是唯一两年时间涨了五次工资的员工，公司和同事都给了我极大的认可，工作上也常常被委以重任。但现在这一切都成了过去，在新的公司我只是一个新人,没有人知道也没有人在意我过去的成绩。我决定重新开始，我把自己看作新毕业的学生，我要用自己的努力得到公司的认可。进入新的行业是非常痛苦的，我告诉自己必须忍受这一切，虽然外面有很多诱惑，但是既然作出了选择我就不允许自己轻易放弃。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我现在已经在这家新公司上了一个多月的班，开始非常艰难，现在慢慢适应了。第一 个月结束时，Team Leader找我谈话，说我是新进员工中最优秀的一个，我心里很欣慰，这也算对我努力的一个肯定吧。在这里还要感谢我的女朋友，她给了我很大的支持和鼓舞， 每次在我动摇的时候她都在鼓励我，让我坚持自己的理想，刚来上海是她让我不要勉强去做MIS，这次也是她让我顶住了月薪过万的诱惑，没有她我可能不会有今天的成绩。 现在的公司有自己的操作系统，自己的CPU、DSP和其它芯片，在这里我能学到世界上最先进的技术，我们的设计开发不再完全依赖别人的硬件和系统，这让我很开心。我打算等工作步入正轨后，全力学习新的知识，实现我的理想。<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在后面的两年里我给自己定下了几个目标：&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一.努力做好本职工作，在工作上得到公司和同事们的认同；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;二.努力学习IC硬件设计知识，多向同事请教，并利用一切机会多实践；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;三.实现我的实时操作系统的主要部分，完成TCP/IP协议栈模块，并免费发布源代码；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;四.和我女朋友结婚并买一套小房子，这是最重要的，因为我明白事业是可以重来的，但是珍贵的感情很难失而复得。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在这里提一下我现在开发的操作系统，它是一个实时嵌入式系统，目前支持以下特性：&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.支持时间片轮转调度和基于优先级调度，最多64个优先级；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.抢占式实时内核；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.为了便于移植，主体用标准C实现；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.汇编代码非常少，不到100行；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.支持任务管理，各任务有独立的堆栈；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.进程同步和通信目前完成了Semaphore，Message Queue正在调试；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.实现了定时系统调用；&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h.可以在windows上仿真调试&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我还打算下一步实现优先级反转保护，Event Flag，Data Pipe，内存管理（以前实现过）、驱动接口等。 在这之后我还会努力完善它，比如加入文件系统，协议栈、调试接口等。希望朋友们提出自己的意见和建议，在此不胜感激！&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;后记：&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;就像有的朋友说的，我的经历或许会给一些朋友产生误导，在这里我必须说明一下。 我来上海以前学习过于拼命，常常晚上只睡3个多小时，我身高1米71，那时只有108斤（我现在130多），家人也说我这样拼命活不过60岁，但是当时的我太固执，我对他们说只要能实现理想活50岁我就够了。那时的拼命使我的身体受到了影响，有一次早上突然腰肌剧痛难忍，痛的我倒在床上站不起来。虽然我现在已经比较注意，但有时候还会隐隐作痛。后来在女朋友说服了我，来上海以后我不再如此。我经常引用父亲的一句话&#8220;身体是革命的本钱&#8221;。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而且我也发现拼命不是办法，我可以熬一两个通宵，最多的一次我连续工作了三天三夜， 但是我半个月都没有恢复过来，这样是不是得不偿失？学习工作应该是一个长期的过程， 像马拉松而不是百米冲刺。我现在非常注意调整学习和工作的强度，我要保证每天尽量有相对充沛的精力，一些年轻的朋友觉得自己也应该拼命努力，这让我多少有些担心，如果我的故事能让你在学习工作上多一点兴趣，我会感到很开心，但如果误导了某些朋友，让你做一些不值得的付出，我会感到很内疚。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;技术没有贵贱只分，我以前换行业是因为自己的兴趣所致，而不是对哪个行业有什么 偏见。我希望我的经历不要给朋友一个错误的导向，觉得我始终向更高的技术发展。其实各行各业做到顶尖都是很困难的。话又说回来虽然技术没有贵贱，但是门槛是有高低的， 无论如何，做IC的门槛要比做网页的高，这一点无可否认。国家各种人才都是需要的，但是作为个人奋发向上的想法还是应该有的，努力在自己喜欢的行业上做的更好，而不应该停留在比较肤浅的层次上。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我是一个自己觉得比较有自知之明的人，或许我最大的优点就是知道自己有很多缺点 ：）。我的故事中很多的曲折和错误都是由我的缺点造成的，希望大家用审慎的眼光看待我的经历，不要被我的&#8220;花言巧语&#8221;所迷惑。我学习有些随心所欲，这给我带来了无尽的麻烦，也大大阻碍的我的发展。记得我小时候成绩比较出色，但是后来学习严重偏科，导致我中学成绩一再滑坡，也没有考上什么好的学校，小时候的一个朋友，当时的成绩和我相仿，但是没有我这个缺点，她上了清华，后来在去了美国深造，在一个著名导师手下研究理论科学，这未尝不是一条更好的出路。另外我的学习方法也是在不断改善中的，过去 的学习过于讲究数量和时间，那样学习既苦而已效率不高，现在我非常注意学习的效率和技巧，这样才是学习的捷径（当然不是指投机取巧），比如说学一相对陌生的技术，如果有条件，不妨问一问有经验的人，不需要问很多，往往他不经意的几句话会给你非常大的帮助，甚至超过你看一个星期的书。带着这样的思想再去学习你会节省很多时间，这样何乐不为呢？这些年中我学了不少的东西，由于开始非常盲目，所以学的东西杂乱无章，现在回想起来让我啼笑皆非，我把大量的时间浪费在一些没有必要深入了解的知识上，毕竟一个人的精力是有限度的。很多朋友很我一样都背过五笔字形，的确它是个不错的输入法，但是对一个研发人员它绝对不值得你去背，你的时间应该花在有价值的地方。我这样的事情还做过很多，我背过CCED、WPS的命令和快捷键，在dBase基本退出历史舞台后我还花了很多时间去学习它的使用。所以我的学习在前期缺乏规划，没有明确的短期目的、中期目标，只有一个虚无飘渺的长期的理想。这就像做设计一样，好的设计是从需求抽象到代码有很多过程，而不能得到了需求就立刻开始开始编码。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当然这么些年的学习和工作多多少少有些收获，下面我说说我的一些学习的心得，这 些方法未必正确，我也在不断探索和改进中。我的学习和工作有相对明确的目标，我不会一时心动而去学习某一技术，在下决定之前我会考虑很多，包括长期的发展，个人路线的规划，需要付出的代价、可能遇到的困难及解决的办法等等，在决定后还会制定更加明确的计划，包括短期、中期和长期的，身边可以利用到的资源（包括好的书籍、资料、软硬件环境，也包括有经验的朋友或者师长），以及每一个阶段是怎么过渡到高一阶段的计划，往往在一个学习阶段一旦上路后会走的相对顺利，但是跨阶段通常比较麻烦，比如从学习基础知识转到实践。另外我买书也有自己的方法，现在世面上高质量的书远不如低质量书多，对于一个陌生的技术，往往在第一次买书会选择错误，即使买到一本好书但是它的方向也未必适合你，所以我通常会先在网上查找一些该技术的介绍，有了一点点概念后再去买一本比较薄、相对便宜并且内容相对泛泛而谈的书，这是国内作者最善于写的书：） ，再把它浏览一遍后我就会基本明白这门技术的要点，后面买书和制定计划就会明确的多。否则一开始就想找本好书往往比较困难，而且买回来后努力学习，有时候学了一半才发现是本低质量的书或者是相对过时技术，让人非常懊恼。另外让有经验的人帮你介绍，通常也是一个不错的选择。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有些朋友想学通信、嵌入式开发，但总觉得自己没有软硬件环境，我就按我的了解给 大家介绍一下怎么建立这样的环境，当然我了解的只是我学习和工作的方向。通信我做的是数据网方面的工作，包括TCP/IP、二三层交换、对接入网、H.323和软交换也有一点认识。这些软硬件环境都是可以在PC上构建的。你甚至可以在一个没有网卡的PC上建立一个包含多个路由器、接入服务器、VoIP网关、网守、主机等的仿真网络环境，而且与实际的网络相当接近，当然这需要你有清晰的网络概念和一定的网络知识，我一直在努力开发一套软件将这个过程简化，目前试验已经做完，我可能会将它融入我的操作系统外围扩展软件中。这样的方法我无法用简单的语句讲的很清楚，我可以说一下大概的思想，就是在PC上实现仿真网卡，（知道Windows怎么在没有网卡的机器实现虚拟网卡技术的朋友都应该会明白），然后每一个仿真网卡对应一个虚拟设备，如路由器或者主机。你也可以借助第三方工具完成部分工作，如VmWare等。我现在就是利用一个仿真网卡做自己的开发的。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至于嵌入式开发环境更加容易实现，PC就是一个非常大的硬件平台，现有的嵌入式操 作系统通常都支持X86，你可以在上面做开发，通过软盘Boot或者使用虚拟机装载，我用VxWorks做了试验，在一台PC上跑Windows和VxWorks两个系统。另外Windows上的兼容DOS的16位仿真X86环境也为很多操作系统提供了绝佳的试验环境，我的操作系统在Windows上就是这样实现的。Linux在嵌入式中应用也比较广泛，它在网上有大量的资料，而且也相对比较容易实践。同时很多完善的嵌入式开发环境支持软件仿真，如Tornado、WinCE等。
<img src ="http://www.blogjava.net/hjh132/aggbug/176507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-01-19 18:18 <a href="http://www.blogjava.net/hjh132/archive/2008/01/19/176507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通常使用的事件监听器接口</title><link>http://www.blogjava.net/hjh132/archive/2008/01/19/176384.html</link><dc:creator>101℃太阳</dc:creator><author>101℃太阳</author><pubDate>Fri, 18 Jan 2008 17:34:00 GMT</pubDate><guid>http://www.blogjava.net/hjh132/archive/2008/01/19/176384.html</guid><wfw:comment>http://www.blogjava.net/hjh132/comments/176384.html</wfw:comment><comments>http://www.blogjava.net/hjh132/archive/2008/01/19/176384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hjh132/comments/commentRss/176384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hjh132/services/trackbacks/176384.html</trackback:ping><description><![CDATA[&nbsp;
<table class="MsoNormalTable" style="border-right: medium none; border-top: medium none; border-left: medium none; width: 437.4pt; border-bottom: medium none; border-collapse: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" width="583" border="1">
    <tbody>
        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt" width="166">
            <p class="MsoNormal" style="line-height: 12pt; text-align: center; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="center"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width="417">
            <p class="MsoNormal" style="line-height: 12pt; text-align: center; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="center"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 1">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">ActionListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="mso-line-height-alt: 10.0pt"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义了一个接收动作事件的方法</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="mso-line-height-alt: 10.0pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void actionPerformed(<span style="color: blue">ActionEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 2">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">AdjustmentListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义了一个接收调整事件的方法</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void adjustmentValueChange(<span style="color: blue">AdustmentEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 3">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">ComponentListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义了四个方法来识别何时隐藏、移动、改变大小、显示组件</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void componentHidden(<span style="color: blue">ComponentEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void componentMoved(<span style="color: blue">ComponentEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void componentResized(<span style="color: blue">ComponentEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void componentShown(<span style="color: blue">ComponentEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 4">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">ContainerListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义两个方法来识别何时从容器中加入或除去组件</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void componentAdded(<span style="color: blue">ContainerEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void componentRemoved(<span style="color: blue">ContainerEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 5">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">FocusListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义两个方法来识别何时组件获得或失去焦点</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void focusGained(<span style="color: blue">FocusEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void focusLost(<span style="color: blue">FocusEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 6">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">ItemListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义一个方法来识别何时项目状态改变</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void itemStateChange(<span style="color: blue">ItemEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 7">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">KeyListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义三个方法来识别何时键按下、释放和键入字符事件</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void keyPressed(<span style="color: blue">KeyEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void keyReleased(<span style="color: blue">KeyEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void keyTyped(<span style="color: blue">KeyEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 8">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">MouseLitener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义五个方法来识别何时鼠标单击、进入组件、离开组件、按下和释放事件</span><span lang="EN-US" style="font-size: 9pt; font-family: 宋体; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void mouseClicked(<span style="color: blue">MouseEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void mouseEntered(<span style="color: blue">MouseEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void mouseExited(<span style="color: blue">MouseEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void mousePressed(<span style="color: blue">MouseEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void mouseReleased(<span style="color: blue">MouseEvnet</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 9">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">MouseMotionListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义两个方法来识别何时鼠标拖运和移动</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void mouseDragged(<span style="color: blue">MouseEvent</span> e)<o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void mouseMoved(<span style="color: blue">MouseEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 10">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">TextListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义一个方法来识别何时文本值改变</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void textValueChanged(<span style="color: blue">TextEvent</span> e)</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 11; mso-yfti-lastrow: yes">
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 124.8pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="166">
            <p class="MsoNormal" style="line-height: 12pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span lang="EN-US" style="color: blue; mso-bidi-font-size: 10.5pt">WindowListener</span><span lang="EN-US" style="font-size: 12pt; color: blue; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
            <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; padding-bottom: 0cm; border-left: medium none; width: 312.6pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="417">
            <p class="MsoNormal" style="line-height: 12pt"><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定义七个方法来识别何时窗口激活、关闭、失效、最小化、还原、打开和退出</span><span lang="EN-US" style="font-size: 9pt; font-family: 宋体; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void windowActivated(<span style="color: blue">WindowEvent</span> e) //</span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">激活</span><span lang="EN-US" style="font-size: 12pt; mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void windowClosed(<span style="color: blue">WindowEvent</span> e) //</span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">关闭</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void windowDeactivated(<span style="color: blue">WindowEvent</span> e) //</span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">失效</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void windowDeiconified(<span style="color: blue">WindowEvent</span> e) //</span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还原</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void windowIconified(<span style="color: blue">WindowEvent</span> e) //</span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最小化</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void windowOpened(<span style="color: blue">WindowEvent</span> e) //</span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打开</span><span lang="EN-US" style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
            <p class="MsoNormal" style="line-height: 12pt"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">void windowClosing(<span style="color: blue">WindowEvent</span> e) // </span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">退出</span><span lang="EN-US" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
            </td>
        </tr>
    </tbody>
</table>
  <img src ="http://www.blogjava.net/hjh132/aggbug/176384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hjh132/" target="_blank">101℃太阳</a> 2008-01-19 01:34 <a href="http://www.blogjava.net/hjh132/archive/2008/01/19/176384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>