<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>beyondqinghua</title>
    <description>学习+实践=成绩</description>
    <link>http://beyondqinghua.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>身体器官工作表一览，睡觉别太晚了</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/209746" style="color:red;">http://beyondqinghua.javaeye.com/blog/209746</a>&nbsp;
          发表时间: 2008年06月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>任何试图更改生物钟的行为，都将给身体留下莫名其妙的疾病，<br /><span style="line-height: 1.3em;">20、30年之后再后悔，已经来不及了。　　</span><br /><span style="line-height: 1.3em;">一、晚上9-11点为免疫系统（淋巴）排毒时间，此段时间应安静或听音乐。　　</span><br /><span style="line-height: 1.3em;">二、晚间11-凌晨1点，肝的排毒，需在熟睡中进行。　　</span><br /><span style="line-height: 1.3em;">三、凌晨1-3点，胆的排毒，亦同。　　</span><br /><span style="line-height: 1.3em;">四、凌晨3-5点，肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈，因排毒动作已走到肺；不应用止咳药，以免抑制废积物的排除。　　</span><br /><span style="line-height: 1.3em;">五、凌晨5-7点，大肠的排毒，应上厕所排便。</span><br /><span style="line-height: 1.3em;">六、凌晨7-9点，小肠大量吸收营养的时段，应吃早餐。疗病者最好早吃，在６点半前，养生者在７点半前，不吃早餐者应改变习惯，即使拖到９、10点吃都比不吃好。　　</span><br /><span style="line-height: 1.3em;">七、半夜至凌晨4点为脊椎造血时段，必须熟睡，不宜熬夜</span><img src="http://imgcache.qq.com/ac/qzone_v4/b.gif" id="paperPicArea1" alt="" style="display: none; position: relative;" /></p>
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/209746#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 30 Jun 2008 14:02:53 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/209746</link>
        <guid>http://beyondqinghua.javaeye.com/blog/209746</guid>
      </item>
      <item>
        <title>hibernate 使用复合主键的问题</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/205564" style="color:red;">http://beyondqinghua.javaeye.com/blog/205564</a>&nbsp;
          发表时间: 2008年06月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">最近在学校工作室做项目时碰到一个</span><span lang="EN-US"><span style="font-family: Times New Roman;">Hibernate</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">复合主键的问题，也就是多对多映射的时候中间表不使用代理主键的话会用到复合主键，如果使用代理主键的话，那么中间表的外键肯定是</span><span lang="EN-US"><span style="font-family: Times New Roman;">many-to-one</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">的，这样的话跟业务要求不合（即两端的主键合成的中间表外键必须是唯一的，而这样能做到不唯一）。物理模型见附件。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">大概描述：</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">收邮件</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">用户表-n----m-用户_邮件表-p----n-邮件表</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">发邮件</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">用户表-n-----1-邮件表</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"></span></p>
<p><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"><span style="font-size: small;">中间表的映射：</span></span></p>
</span></p>
<p><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">
<pre name="code" class="xml">&lt;composite-id name="id" class="cn.magicoa.skstudio.domain.UserMailId" &gt;
            &lt;key-many-to-one name="mailChit" class="cn.magicoa.skstudio.domain.MailChit"&gt;
                &lt;column name="MailId" /&gt;
            &lt;/key-many-to-one&gt;
            &lt;key-many-to-one name="oaUser" class="cn.magicoa.skstudio.domain.OaUser" lazy="false"&gt;
                &lt;column name="Uid" /&gt;
            &lt;/key-many-to-one&gt;
&lt;/composite-id&gt;
</pre>
</span>
<pre name="code" class="java">	private MailChit mailChit;
	private OaUser oaUser;
</pre>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">这样的话发邮件的用户获取该邮件的接收者列表将非常吃力，默认的这个复合主键的</span><span lang="EN-US"><span style="font-family: Times New Roman;">lazy=true</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">，而如果改为</span><span lang="EN-US"><span style="font-family: Times New Roman;">false</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">的话效率会非常底，因为如果用户要获取发邮件列表的话不需要收邮件人列表，所以只能在</span><span lang="EN-US"><span style="font-family: Times New Roman;">hql</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">查询中使用</span><span lang="EN-US"><span style="font-family: Times New Roman;">fetch</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">抓取的方式。请问大家有没有其他的解决方案。</span></span></p>
</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">中间表</span><span lang="EN-US"><span style="font-family: Times New Roman;">POJO</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">类</span><span lang="EN-US"><span style="font-family: Times New Roman;">UserMail</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">：</span></span></p>
<p><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">
<pre name="code" class="java">	private UserMailId id;
	private Short type;
	private Short isNew;
</pre>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">这样的话需要生成一个</span><span lang="EN-US"><span style="font-family: Times New Roman;">UserMailId</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">复合主键</span><span lang="EN-US"><span style="font-family: Times New Roman;">POJO</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">类：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">&nbsp;</p>
</span></span></p>
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/205564#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 18 Jun 2008 22:58:30 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/205564</link>
        <guid>http://beyondqinghua.javaeye.com/blog/205564</guid>
      </item>
      <item>
        <title>简单的单用户登陆实现例子</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/190617" style="color:red;">http://beyondqinghua.javaeye.com/blog/190617</a>&nbsp;
          发表时间: 2008年05月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span style="font-size: small;">&nbsp;前段时间搞了一个简单的单用户登陆实现例子,虽然不能实现敏捷反应，但是对安全相对要求底的系统还是可以考虑的。</span></p>
<div><span style="font-size: small;">&nbsp;&nbsp; 具体原理：结合过滤器+Servlet监听器。</span></div>
<div><span style="font-size: small;">&nbsp; &nbsp; ServletContext对象保存的是整个WEB应用程序的共享信息，那么如果用户登陆可以把用户的部分信息保存在ServletContext中。</span></div>
<div><span style="font-size: small;">&nbsp;&nbsp; Servlet监听器可以监听用户过期或者注销，把用户信息从ServletContext中删除。</span></div>
<div><span style="font-size: small;">&nbsp;&nbsp; 那么，现在关键是如何设计保存在ServletContext中的用户信息：这里，由于用户的ID是唯一的，那么我们可以利用Map集合保存在线用户列表（由于Map内部是使用类似索引查询进行快速查找，所以效率还是比较高的），Map的key是UID，Object是一个包含 uid、name、serial、time（记录时间）四个必要信息。这里关键是serial、time两个属性，<strong>用户登陆时会产生一个唯一的随机码，如果此用户登陆后在别的地方登陆，那么就会修改这个随机码，这时原来登陆的用户在ServletContext中保存的随机码就改变了(与用户sesion中的随机码不同)，那么其就被迫下线（这个工作由过滤器来做）；</strong>那么time的作用是什么呢，它是减少过滤器的判断时间间隔，减少用户每个请求都进行一次从ServletContext中获取serial与session中的serial进行比较的过程，减少资源的开销。</span></div>
<div><span style="font-size: small;">&nbsp;&nbsp; 需要建立的数据对象类：User.java（用户session）、UList.java（ServletContext中的元数据）;</span></div>
<div><span style="font-size: small;">&nbsp; 需要建立的servlet：Login.java；</span></div>
<div><span style="font-size: small;">&nbsp; 需要建立的filter：Check.java（判断用户的权限以及serial是否有效）；</span></div>
<div><span style="font-size: small;">&nbsp; 需要建立的listener servlet：UserListener.java（web服务器启动时初始化用户列表到ServletContext中，用户登陆时把用户信息添加到ServletContext中，用户过期或者注销把用户信息从ServletContext中删除）。</span></div>
<div><span style="font-size: small;">&nbsp;&nbsp; 分析完毕,附实现源代码！</span></div>
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/190617#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 07 May 2008 15:24:34 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/190617</link>
        <guid>http://beyondqinghua.javaeye.com/blog/190617</guid>
      </item>
      <item>
        <title>hibernate lazy的问题学习总结</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/186330" style="color:red;">http://beyondqinghua.javaeye.com/blog/186330</a>&nbsp;
          发表时间: 2008年04月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp; 以前碰到一个延迟加载问题,就是lazy=true的时候出现session close后读取不到数据,出现错误,现在这里总结一下经验:</p>
<p>一:lazy=false,这种方式效率底,不合适.</p>
<p>二:fetch=join,这种方式和上一种差不多.</p>
<p>三:使用OpensessionInView,这种方式事务管理有很多不稳定性(主要存在事务边界的不确定性),此时lazy=true.</p>
<p>四:就是在DAO层把数据read出来,lazy=true,这样不符合ORM关联查询思想.</p>
<p>五:个人认为最佳方案,就是使用动态外连接查询,此时lazy=true.</p>
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/186330#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Apr 2008 12:23:10 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/186330</link>
        <guid>http://beyondqinghua.javaeye.com/blog/186330</guid>
      </item>
      <item>
        <title>JDBC insert后获取插入的主键值的方法</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/186228" style="color:red;">http://beyondqinghua.javaeye.com/blog/186228</a>&nbsp;
          发表时间: 2008年04月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="gpcontent show0">
<div>上次朋友问,后来关注了一下,具体方法:</div>
<div><span style="font-size: x-small;">java.sql</span> <br />接口 Statement</div>
<div>
<table cellspacing="0" border="1" width="100%" cellpadding="3">
<tbody>
<tr class="TableRowColor" bgcolor="#ffffff">
<td align="right" valign="top" width="1%"><span style="font-family: 新宋体;"><code>&nbsp;boolean</code></span></td>
<td><code><strong><a href="http://m95.mail.qq.com/cgi-bin/readmail?sid=ODEzMTc2MDIwMDAzOTYwMTIw116203610,zh_CN&amp;mailid=@00d29534001f&amp;folderid=1&amp;templatename=readmail_group" target="_blank"><span style="color: #1e5494; font-family: 新宋体;">execute</span></a></strong><span style="font-family: 新宋体;">(</span><a href="http://m95.mail.qq.com/cgi-bin/readmail?sid=ODEzMTc2MDIwMDAzOTYwMTIw116203610,zh_CN&amp;mailid=@00d29534001f&amp;folderid=1&amp;templatename=readmail_group" title="java.lang 中的类" target="_blank"><span style="color: #1e5494; font-family: 新宋体;">String</span></a><span style="font-family: 新宋体;">&nbsp;sql, int autoGeneratedKeys)</span></code> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 执行给定的 SQL 语句（该语句可能返回多个结果），并通知驱动程序所有自动生成的键都应该可用于获取。</td>
</tr>
</tbody>
</table>
</div>
<div>
<table cellspacing="0" border="1" width="100%" cellpadding="3">
<tbody>
<tr class="TableRowColor" bgcolor="#ffffff">
<td align="right" valign="top" width="1%"><span style="font-family: 新宋体;"><code>static int</code></span></td>
<td><code><strong><a href="http://m95.mail.qq.com/cgi-bin/readmail?sid=ODEzMTc2MDIwMDAzOTYwMTIw116203610,zh_CN&amp;mailid=@00d29534001f&amp;folderid=1&amp;templatename=readmail_group" target="_blank"><span style="color: #1e5494; font-family: 新宋体;">RETURN_GENERATED_KEYS</span></a></strong></code> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该常量指示生成的键应该可用于获取。</td>
</tr>
</tbody>
</table>
</div>
<div>
<table cellspacing="0" border="1" width="100%" cellpadding="3">
<tbody>
<tr class="TableRowColor" bgcolor="#ffffff">
<td align="right" valign="top" width="1%"><span style="color: #1e5494; font-family: 新宋体;"><code><a href="http://m95.mail.qq.com/cgi-bin/readmail?sid=ODEzMTc2MDIwMDAzOTYwMTIw116203610,zh_CN&amp;mailid=@00d29534001f&amp;folderid=1&amp;templatename=readmail_group" title="java.sql 中的接口" target="_blank">ResultSet</a></code></span></td>
<td><code><strong><a href="http://m95.mail.qq.com/cgi-bin/readmail?sid=ODEzMTc2MDIwMDAzOTYwMTIw116203610,zh_CN&amp;mailid=@00d29534001f&amp;folderid=1&amp;templatename=readmail_group" target="_blank"><span style="color: #1e5494; font-family: 新宋体;">getGeneratedKeys</span></a></strong><span style="font-family: 新宋体;">()</span></code> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取由于执行此 <code><span style="font-family: 新宋体;">Statement</span></code> 对象而创建的所有自动生成的键。</td>
</tr>
</tbody>
</table>
</div>
<div><span style="font-size: x-small;">java.sql</span> <br />接口 ResultSet</div>
<div>
<table cellspacing="0" border="1" width="100%" cellpadding="3">
<tbody>
<tr class="TableRowColor" bgcolor="#ffffff">
<td align="right" valign="top" width="1%"><span style="font-family: 新宋体;"><code>&nbsp;boolean</code></span></td>
<td><code><strong><a href="http://m95.mail.qq.com/cgi-bin/readmail?sid=ODEzMTc2MDIwMDAzOTYwMTIw116203610,zh_CN&amp;mailid=@00d29534001f&amp;folderid=1&amp;templatename=readmail_group" target="_blank"><span style="color: #1e5494; font-family: 新宋体;">next</span></a></strong><span style="font-family: 新宋体;">()</span></code> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将光标从当前位置向前移一行。</td>
</tr>
</tbody>
</table>
</div>
<div>
<table cellspacing="0" border="1" width="100%" cellpadding="3">
<tbody>
<tr class="TableRowColor" bgcolor="#ffffff">
<td align="right" valign="top" width="1%"><span style="font-family: 新宋体;"><code>&nbsp;int</code></span></td>
<td><code><strong><a href="http://m95.mail.qq.com/cgi-bin/readmail?sid=ODEzMTc2MDIwMDAzOTYwMTIw116203610,zh_CN&amp;mailid=@00d29534001f&amp;folderid=1&amp;templatename=readmail_group" target="_blank"><span style="color: #1e5494; font-family: 新宋体;">getInt</span></a></strong><span style="font-family: 新宋体;">(int columnIndex)</span></code> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以 Java 编程语言中 <code><span style="font-family: 新宋体;">int</span></code> 的形式获取此 <code><span style="font-family: 新宋体;">ResultSet</span></code> 对象的当前行中指定列的值。</td>
</tr>
</tbody>
</table>
</div>
<div>&nbsp;</div>
<div>不过好象必须是JDBC3.0以上才支持!</div>
</div>
<p>
<script type="text/javascript"></script>
</p>
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/186228#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Apr 2008 09:46:00 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/186228</link>
        <guid>http://beyondqinghua.javaeye.com/blog/186228</guid>
      </item>
      <item>
        <title>学习笔记：正则表达式之一</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/176219" style="color:red;">http://beyondqinghua.javaeye.com/blog/176219</a>&nbsp;
          发表时间: 2008年03月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>由于为了看到效果，这里使用一个公共的输出类只控制输出：</p><pre name="code" class="java">package test;

public class Print{
	
	public static void println(Object o){
		
		System.out.println(o);
	}
	
	public static void print(Object o){
		
		System.out.print(o);
	}
}</pre><p>&nbsp;</p><pre name="code" class="java">package test;

import java.util.regex.Pattern;
import java.util.regex.Matcher;
import static test.Print.*;

/*
 *认识正则表达式的概念
 *用途:
 *1、字符串匹配；
 *2、字符串查找；
 *3、字符串替换。
 */
public class Test{
	
	public static void main(String[] args){
		
		println(&quot;abc&quot;.matches(&quot;...&quot;));
		println(&quot;abc9796fa56j&quot;.replaceAll(&quot;\\d&quot;,&quot;_&quot;)); //把所有数字替换成下划线
		
		Pattern ptn = Pattern.compile(&quot;[a-z]{3}&quot;);  //匹配任意三个连续的英文字符
		Matcher mt = ptn.matcher(&quot;bey&quot;);
		println(mt.matches());
		
		//上面的三句话可以用一句来表达
		println(&quot;bey&quot;.matches(&quot;[a-z]{3}&quot;));
		
		
	}
}</pre><p>&nbsp;</p><pre name="code" class="java">package test;

import java.util.regex.*;
import static test.Print.*;

/*
 * 预定义字符类 
 * \\\\表示\斜杠
 * . 任何字符（与行结束符可能匹配也可能不匹配） 
 * \d 数字：[0-9] 
 * \D 非数字： [^0-9] 
 * \s 空白字符：[\t\n\x0B\f\r] 
 * \S 非空白字符：[^\s]
 * \w 单词字符：[a-zA-Z_0-9] 
 * \W 非单词字符：[^\w] 
 * 注意：\s匹配\r,\n,\r，\f和空格
 */
public class Demo1{
	
	
	public static void main(String[] args){
		
		//判断斜杠
		println(&quot;0:&quot; + &quot;\\&quot;.matches(&quot;\\\\&quot;));
		
		//判断任意字符
		println(&quot;1:&quot; + &quot;a&quot;.matches(&quot;.&quot;));   //返回true
		
		//判断数字字符
		println(&quot;2:&quot; + &quot;8&quot;.matches(&quot;\\d&quot;));  //判断是否是数字,返回true
		println(&quot;3:&quot; + &quot;89&quot;.matches(&quot;\\d&quot;)); //只能用于判断一个数字,返回false
		println(&quot;4:&quot; + &quot;7&quot;.matches(&quot;\\D&quot;));  //由于7是数字字符,所以返回false
		println(&quot;5:&quot; + &quot;&amp;&quot;.matches(&quot;\\D&quot;));  //返回true
		
		//空白字符
		println(&quot;6:&quot; + &quot; &quot;.matches(&quot;\\s&quot;));   //返回true
		println(&quot;7:&quot; + &quot;7&quot;.matches(&quot;\\s&quot;));   //返回false
		println(&quot;8:&quot; + &quot; &quot;.matches(&quot;\\S&quot;));   //返回false
		
		//单词字符
		println(&quot;9:&quot; + &quot;+&quot;.matches(&quot;\\w&quot;));   //返回false
		println(&quot;10:&quot; + &quot;7&quot;.matches(&quot;\\w&quot;));   //返回true
		println(&quot;11:&quot; + &quot;_&quot;.matches(&quot;\\W&quot;));   //返回false
		println(&quot;12:&quot; + &quot;b&quot;.matches(&quot;\\w&quot;));   //返回true
		
		//特殊字符
		println(&quot;13:&quot; + &quot;\n&quot;.matches(&quot;\\s&quot;));  //返回true
				
	}
	
	
}</pre>&nbsp;<pre name="code" class="java">package test;

import java.util.regex.*;
import static test.Print.*;

/*
 * Greedy 数量词
 * X? X，一次或一次也没有 
 * X* X，零次或多次 
 * X+ X，一次或多次 
 * X{n} X，恰好 n 次 
 * X{n,} X，至少 n 次 
 * X{n,m} X，至少 n 次，但是不超过 m 次 
 *
 */
public class Demo2{
	
	public static void main(String[] args){
		
		println(&quot;1: &quot; + &quot;ab&quot;.matches(&quot;ab&quot;));  //精确匹配
		
		println(&quot;2: &quot; + &quot;a&quot;.matches(&quot;a?&quot;));   //a可以出现一次,也可以没有
		println(&quot;3: &quot; + &quot;b&quot;.matches(&quot;a?&quot;));
		
		
		println(&quot;4: &quot; + &quot;&quot;.matches(&quot;a*&quot;));   //a可以出现零次或多次
		println(&quot;5: &quot; + &quot;aa&quot;.matches(&quot;a*&quot;));
		
		println(&quot;6: &quot; + &quot;&quot;.matches(&quot;a+&quot;));   //a必须出现一次或多次
		println(&quot;7: &quot; + &quot;aaa&quot;.matches(&quot;a+&quot;));
		
		println(&quot;8: &quot; + &quot;a&quot;.matches(&quot;a{3}&quot;));   //a必须出现恰好n次
		println(&quot;9: &quot; + &quot;aaa&quot;.matches(&quot;a{3}&quot;));

		println(&quot;10: &quot; + &quot;a&quot;.matches(&quot;a{3,7}&quot;));   //a必须出现最少n次,最多m次
		println(&quot;11: &quot; + &quot;aaaa&quot;.matches(&quot;a{3,7}&quot;));
		
		//下面是自我提高练习
		println(&quot;基本判断一个ip:&quot;);
		print(&quot;判断192.168.10.8是不是ip地址:&quot;);
		println(&quot;192.168.10.8&quot;.matches(&quot;\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}&quot;));
		print(&quot;判断192.168.baby.8是不是ip地址:&quot;);
		println(&quot;192.168.baby.8&quot;.matches(&quot;\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}&quot;));
		
		//上面的也可以使用Pattern来判断
		println(&quot;使用Pattern来实现&quot;);
		Pattern pt = Pattern.compile(&quot;\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}&quot;);
		print(&quot;判断192.168.10.8是不是ip地址:&quot;);
		println(pt.matcher(&quot;192.168.10.8&quot;).matches());
		
		//判断EMAIL地址
		println(&quot;EMAIL判断&quot;);
		pt = Pattern.compile(&quot;[a-zA-Z0-9|_|-]{3,}@[a-zA-Z0-9]{3,}\\.[a-zA-Z0-9]{2,}&quot;);
		print(&quot;判断beyondqinghua@gmail.com是否是Eamil地址:&quot;);
		println(pt.matcher(&quot;beyondqinghua@gmail.com&quot;).matches());
		
		print(&quot;判断116203610beyond@gmail.com是否是Eamil地址:&quot;);
		println(pt.matcher(&quot;116203610beyond@gmail.com&quot;).matches());
		
		print(&quot;判断116203610_beyond-life@gmail.com是否是Eamil地址:&quot;);
		println(pt.matcher(&quot;116203610_beyond-life@gmail.com&quot;).matches());
		
		print(&quot;判断116203610*beyond-life@gmail.com是否是Eamil地址:&quot;);
		println(pt.matcher(&quot;116203610*beyond-life@gmail.com&quot;).matches());
	}
}</pre>&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/176219#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 26 Mar 2008 11:54:31 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/176219</link>
        <guid>http://beyondqinghua.javaeye.com/blog/176219</guid>
      </item>
      <item>
        <title>用servlet进行图片验证</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/175686" style="color:red;">http://beyondqinghua.javaeye.com/blog/175686</a>&nbsp;
          发表时间: 2008年03月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &lt;pre name="code" class="java"><br />import java.io.*;<br />import javax.servlet.*;<br />import javax.servlet.http.*;<br />import java.awt.*;<br />import java.awt.image.*;<br />import javax.imageio.ImageIO;<br /><br />public class CheckCodeServlet extends HttpServlet<br />{<br />	private static int WIDTH = 60;<br />	private static int HEIGHT = 20;<br />	public void doGet(HttpServletRequest request,HttpServletResponse response) <br />			throws ServletException,IOException<br />	{		<br />		HttpSession session = request.getSession();<br />		response.setContentType(&quot;image/jpeg&quot;);<br />		ServletOutputStream sos = response.getOutputStream();<br /><br />		//设置浏览器不要缓存此图片<br />		response.setHeader(&quot;Pragma&quot;,&quot;No-cache&quot;);<br />		response.setHeader(&quot;Cache-Control&quot;,&quot;no-cache&quot;);<br />		response.setDateHeader(&quot;Expires&quot;, 0);<br />		<br />		//创建内存图象并获得其图形上下文<br />		BufferedImage image = <br />			new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); <br />		Graphics g = image.getGraphics();<br />		<br />		//产生随机的认证码<br />		char [] rands = generateCheckCode();<br />		<br />		//产生图像<br />		drawBackground(g);<br />		drawRands(g,rands);<br />		<br />		//结束图像的绘制过程，完成图像<br />		g.dispose();<br />		<br />		//将图像输出到客户端<br />		ByteArrayOutputStream bos = new ByteArrayOutputStream();<br />		ImageIO.write(image, &quot;JPEG&quot;, bos);<br />		byte [] buf = bos.toByteArray();<br />		response.setContentLength(buf.length);<br />		//下面的语句也可写成：bos.writeTo(sos);<br />		sos.write(buf);<br />		bos.close();<br />		sos.close();<br /><br />		//将当前验证码存入到Session中<br />		session.setAttribute(&quot;check_code&quot;,new String(rands));<br />		//直接使用下面的代码将有问题，Session对象必须在提交响应前获得<br />		//request.getSession().setAttribute(&quot;check_code&quot;,new String(rands));<br />	}<br />	<br />	private char [] generateCheckCode()<br />	{<br />		//定义验证码的字符表<br />		String chars = &quot;0123456789abcdefghijklmnopqrstuvwxyz&quot;;<br />		char [] rands = new char[4];<br />		for(int i=0; i&lt;4; i++)<br />		{<br />			int rand = (int)(Math.random() * 36);<br />			rands[i] = chars.charAt(rand);<br />		}<br />		return rands;<br />	}<br />	<br />	private void drawRands(Graphics g , char [] rands)<br />	{<br />		g.setColor(Color.BLACK);<br />		g.setFont(new Font(null,Font.ITALIC|Font.BOLD,18));<br />		//在不同的高度上输出验证码的每个字符		<br />		g.drawString(&quot;&quot; + rands[0],1,17);<br />		g.drawString(&quot;&quot; + rands[1],16,15);<br />		g.drawString(&quot;&quot; + rands[2],31,18);<br />		g.drawString(&quot;&quot; + rands[3],46,16);<br />		System.out.println(rands);<br />	}<br />	<br />	private void drawBackground(Graphics g)<br />	{<br /> 		//画背景<br />		g.setColor(new Color(0xDCDCDC));<br />		g.fillRect(0, 0, WIDTH, HEIGHT);<br />		//随机产生120个干扰点<br />		for(int i=0; i&lt;120; i++)<br />		{<br />			int x = (int)(Math.random() * WIDTH);<br />			int y = (int)(Math.random() * HEIGHT);<br />			int red = (int)(Math.random() * 255);<br />			int green = (int)(Math.random() * 255);<br />			int blue = (int)(Math.random() * 255);<br />			g.setColor(new Color(red,green,blue));		<br />			g.drawOval(x,y,1,0);<br />		}<br />	}<br />}&lt;/pre><br />&lt;pre name="code" class="java"><br />import java.io.*;<br />import javax.servlet.*;<br />import javax.servlet.http.*;<br /><br />public class LogonFormServlet extends HttpServlet<br />{<br />	public void service(HttpServletRequest request,<br />		HttpServletResponse response) throws ServletException, IOException<br />	{<br />		response.setContentType(&quot;text/html;charset=GB2312&quot;);				<br />		PrintWriter out = response.getWriter();	<br />		<br />		HttpSession session = request.getSession(false);<br />		if(session == null)<br />		{<br />			out.println(&quot;验证码处理问题!&quot;);<br />			return;<br />		}<br />		<br />		String savedCode = (String)session.getAttribute(&quot;check_code&quot;);<br />		if(savedCode == null)<br />		{<br />			out.println(&quot;验证码处理问题!&quot;);<br />			return;<br />		}<br />				<br />		String checkCode = request.getParameter(&quot;check_code&quot;);<br />		if(!savedCode.equals(checkCode))<br />		{<br />			/*验证码未通过，不从Session中清除原来的验证码，<br />			以便用户可以后退回登录页面继续使用原来的验证码进行登录*/<br />			out.println(&quot;验证码无效!&quot;);<br />			return;<br />		}<br />		/*验证码检查通过后，从Session中清除原来的验证码，<br />		以防用户后退回登录页面继续使用原来的验证码进行登录*/<br />		session.removeAttribute(&quot;check_code&quot;);<br />		out.println(&quot;验证码通过，服务器正在校验用户名和密码!&quot;);<br />	}<br />}<br />&lt;/pre>&nbsp;&lt;/pre>&lt;pre name="code" class="java">&lt;servlet&gt;<br />		&lt;servlet-name&gt;CheckCodeServlet&lt;/servlet-name&gt;<br />		&lt;servlet-class&gt;CheckCodeServlet&lt;/servlet-class&gt;<br />	&lt;/servlet&gt;    <br />	&lt;servlet&gt;<br />		&lt;servlet-name&gt;LogonFormServlet&lt;/servlet-name&gt;<br />		&lt;servlet-class&gt;LogonFormServlet&lt;/servlet-class&gt;<br />	&lt;/servlet&gt;  <br />	&hellip;&hellip;<br />	&lt;servlet-mapping&gt;<br />		&lt;servlet-name&gt;CheckCodeServlet&lt;/servlet-name&gt;<br />		&lt;url-pattern&gt;/servlet/CheckCodeServlet&lt;/url-pattern&gt;<br />	&lt;/servlet-mapping&gt;<br />	&lt;servlet-mapping&gt;<br />		&lt;servlet-name&gt;LogonFormServlet&lt;/servlet-name&gt;<br />		&lt;url-pattern&gt;/servlet/LogonFormServlet&lt;/url-pattern&gt;<br />	&lt;/servlet-mapping&gt;<br />&lt;/pre>&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/175686#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 25 Mar 2008 10:45:58 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/175686</link>
        <guid>http://beyondqinghua.javaeye.com/blog/175686</guid>
      </item>
      <item>
        <title>三种基本的数据排序方法</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/175542" style="color:red;">http://beyondqinghua.javaeye.com/blog/175542</a>&nbsp;
          发表时间: 2008年03月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">package com.beyondlife.demo2;


/*
 * 这个类拥有三个静态方法用于数组排序
 * 
 */
public class NumberSort {

	public static final int ASC = 1; //升序排列
	public static final int DES = 2; //降序排列
	
	/*冒泡排序
	 * 算法设计:此算法利用前后的元素大小进行比较,交换位置;
	 * 要实现整个数组的排序需要使用外循环来控制遍历次数;
	 * 内循环来控制前后两元素的比较次数,一次内循环之后可以找出最大的或最小的放在右边.
	 * 
	 */
	public static  void bubbleSort(int list[],int type){
		
		int length = list.length;//数组的数据个数
		int flag = 1;            //标志位,判断此数组本身是否已经有序
		int temp = 0;            //中间数据,用于位置替换
		int i = 0;               //用于循环次数
		int j = 0;               //用于比较次数
		
		if(type == ASC){         //升序排序
			flag = 1;
			
			for(i = 1;i &lt; length &amp;&amp; flag == 1;i++){              //控制循环次数
				
				flag = 0;
				for(j = 0;j &lt; length - i;j++){  //控制比较次数
					if(list[j] &gt; list[j+1]){
						temp = list[j];
						list[j] = list[j + 1];
						list[j + 1] = temp;
						flag = 1;                   //修改标志位
					}//end if
				}//end inner for
			}//end outter for
			
		}else if(type == DES){     //降序排序
			
			flag = 1;
			
			for(i = 1;i &lt; length &amp;&amp; flag == 1;i++){              //控制循环次数
				
				for(j = i + 1;j &lt; length - i;j++){  //控制比较次数
					if(list[j] &lt; list[j+1]){
						temp = list[j];
						list[j] = list[j + 1];
						list[j + 1] = temp;
						flag = 1;                   //修改标志位
					}//end if
				}//end inner for
			}//end outter for
		}
	}
	
	/*选择排序
	 * 算法设计:选择排序不需要每比较两个元素就交换两其位置,
	 * 而是每次扫描一遍数据找出最大或最小的元素把其与左边排好序的元素的下一元素交换位置
	 * 
	 */
	public static void selectSort(int list[],int type){
		
		int length = list.length;        //数组的元素个数
		int pos = 0;                     //最大或最小元素的位置
		int i = 0;                       //控制循环的次数
		int j = 0;                       //用于查找元素的位置
		int temp = 0;                    //用于临时交换位置的元素
		
		if(type == ASC){//升序排序
			
			for(i = 0;i &lt; length ;i++){
				pos = i;
				for(j = i + 1;j &lt; length;j++){
					if(list[j] &lt; list[pos])//查找未排序部分的最小元素
						pos = j;
				}//end inner for
				
				if(pos != i){            
					temp = list[i];
					list[i] = list[pos];
					list[pos] = temp;
				}
			}//end outer for
		}else if(type == DES){//降序排序
			
			for(i = 0;i &lt; length ;i++){
				pos = i;
				for(j = i + 1;j &lt; length;j++){
					if(list[j] &gt; list[pos])//查找未排序部分的最大元素
						pos = j;
				}//end inner for
				
				if(pos != i){            
					temp = list[i];
					list[i] = list[pos];
					list[pos] = temp;
				}
			}//end outer for
		}
		
	}
	
	/*插入排序
	 *算法设计:此算法也是局部有序的,这里假设左边有序,
	 *那么现在需要把有序的下一个元素插入到有序的一端,
	 *这样需要移动有序的一端使空出合适的位置给插入原素
	 */
	public static void insertSort(int list[],int type){
		
		int length = list.length;        //数组的元素个数
		int i = 0;                       //控制循环的次数
		int j = 0;                       //用于定位元素
		int temp = 0;                    //用于临时交换位置的元素
		if(type == ASC){//升序排序
			
			for(i = 1;i &lt; length;i++){             //控制循环次数
				j = i;
				temp = list[i];
				while(j &gt; 0 &amp;&amp; list[j - 1] &gt; temp){//找到插入的位置
					list[j] = list[j-1];           //比插入元素大的元素须向后移动
					j--;
				}
				list[j] = temp;                    //插入元素
			}//end for
		}else if(type == DES){
			
			for(i = 1;i &lt; length;i++){             //控制循环次数
				j = i;
				temp = list[i];
				while(j &gt; 0 &amp;&amp; list[j - 1] &lt; temp){//找到插入的位置
					list[j] = list[j-1];           //比插入元素小的元素须向后移动
					j--;
				}
				list[j] = temp;                    //插入元素
			}//end for
		}
		
	}

}
</pre>&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/175542#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 24 Mar 2008 19:23:06 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/175542</link>
        <guid>http://beyondqinghua.javaeye.com/blog/175542</guid>
      </item>
      <item>
        <title>利用LinkedList来实现堆栈</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/175540" style="color:red;">http://beyondqinghua.javaeye.com/blog/175540</a>&nbsp;
          发表时间: 2008年03月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <table border="0" style="width: 772px; height: 1181px"><tbody><tr><td>&nbsp;<pre name="code" class="java">import java.util.LinkedList;

/*
 *利用LinkedList来实现堆栈
 *LinkedList容器具有有续性,以及插入删除方便的特征
 *
 */
public class Stack&lt;T&gt;{
	
	//建立一个链表保存数据
	private LinkedList&lt;T&gt; stack;
	
	public Stack(){
		
		stack = new LinkedList&lt;T&gt;();
	}
	
	//入栈操作
	public void push(T obj){
		
		stack.addFirst(obj);
	}
	
	//获取栈顶元素
	public T peek(){
		
		//判断栈是否为空
		if(!isEmpty()){
			
			return stack.getFirst();
			
		}else{
			
			return null;
		}
		
	}
	
	//出栈操作
	public T pop(){
		
		//判断栈是否为空
		if(!isEmpty()){
			
			return stack.removeFirst();
			
		}else{
			
			return null;
		}
		
	}
	
	//判断栈是否为空
	public boolean isEmpty(){
		
		return stack.isEmpty();
	}
	
	//测试堆栈
	public static void main(String[] args){
		
		String[] list = &quot;my name is beyondlife&quot;.split(&quot; &quot;);
		
		Stack&lt;String&gt; stack = new Stack&lt;String&gt;();
		
		for(String obj : list){
			
			stack.push(obj);
		}
		
		while(stack.peek() != null){
			
			System.out.print(stack.pop() + &quot; &quot;);
		}
	}
}</pre>&nbsp;</td></tr></tbody></table>
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/175540#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 24 Mar 2008 19:13:22 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/175540</link>
        <guid>http://beyondqinghua.javaeye.com/blog/175540</guid>
      </item>
      <item>
        <title>JAVA中equals的编写</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/170220" style="color:red;">http://beyondqinghua.javaeye.com/blog/170220</a>&nbsp;
          发表时间: 2008年03月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-size: small"><span style="font-family: 宋体">下面是为实现一个高质量</span><span><span style="font-family: Times New Roman">equals</span></span><span style="font-family: 宋体">方法的处方：</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">1、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">使用</span><span><span style="font-family: Times New Roman">==</span></span><span style="font-family: 宋体">操作符检查&ldquo;实参是否为指向对象的一个引用&rdquo;。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">2、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">使用</span><span><span style="font-family: Times New Roman">instanceof</span></span><span style="font-family: 宋体">操作符检查&ldquo;实参是否为正确的类型&rdquo;。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">3、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-family: 宋体"><span style="font-size: small">把实参转换到正确的类型。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">4、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">对于该类中的每一个&ldquo;关键&rdquo;域，检查实参中的域是否与当前对象中对应的域值匹配。数值可以直接使用</span><span><span style="font-family: Times New Roman">==</span></span><span style="font-family: 宋体">比较，实例可以使用</span><span><span style="font-family: Times New Roman">field==null?o.field==null:field.equals(o.field)</span></span><span style="font-family: 宋体">。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">5、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">当你编写完</span><span><span style="font-family: Times New Roman">equals</span></span><span style="font-family: 宋体">方法之后，应该问自己三个问题：他是否是对称的、传递的、一致的？</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体"><span style="font-size: small">一些告戒：</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">1、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">当你改写</span><span><span style="font-family: Times New Roman">equals</span></span><span style="font-family: 宋体">的时候，总要改写</span><span><span style="font-family: Times New Roman">hashCode</span></span><span style="font-family: 宋体">。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">2、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">不要企求你的</span><span><span style="font-family: Times New Roman">equals</span></span><span style="font-family: 宋体">方法过于繁杂（周全）。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">3、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">不要使</span><span><span style="font-family: Times New Roman">equals</span></span><span style="font-family: 宋体">方法依赖于不稳定的资源，比如</span><span style="font-size: 12pt; font-family: 宋体">transient</span><span style="font-size: 12pt; font-family: 宋体">类型</span><span style="font-family: 宋体">。</span></span></p>
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/170220#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 11 Mar 2008 16:10:04 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/170220</link>
        <guid>http://beyondqinghua.javaeye.com/blog/170220</guid>
      </item>
      <item>
        <title>JAVA中hashCode的编写</title>
        <author>beyondqinghua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://beyondqinghua.javaeye.com">beyondqinghua</a>&nbsp;
          链接：<a href="http://beyondqinghua.javaeye.com/blog/170219" style="color:red;">http://beyondqinghua.javaeye.com/blog/170219</a>&nbsp;
          发表时间: 2008年03月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">1、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">把某个非零常数值，比如</span><span><span style="font-family: Times New Roman">17</span></span><span style="font-family: 宋体">，保存在一个叫</span><span><span style="font-family: Times New Roman">result</span></span><span style="font-family: 宋体">的</span><span><span style="font-family: Times New Roman">int</span></span><span style="font-family: 宋体">类型的变量中。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">2、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">对于对象中的关键域</span><span><span style="font-family: Times New Roman">f(</span></span><span style="font-family: 宋体">指</span><span><span style="font-family: Times New Roman">equals</span></span><span style="font-family: 宋体">方法中考虑的每一个域</span><span><span style="font-family: Times New Roman">)</span></span><span style="font-family: 宋体">，完成以下步骤：</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><span style="font-size: small"><span><span><span style="font-family: Times New Roman">A、</span></span></span><span style="font-family: 宋体">为该域计算</span><span><span style="font-family: Times New Roman">int</span></span><span style="font-family: 宋体">类型的散列码</span><span><span style="font-family: Times New Roman">c:</span></span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 75pt; text-indent: -36pt; tab-stops: list 75.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">I、</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">如果该域是</span><span><span style="font-family: Times New Roman">boolean</span></span><span style="font-family: 宋体">类型，则计算</span><span><span style="font-family: Times New Roman">(f ? 0 : 1)</span></span><span style="font-family: 宋体">。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 75pt; text-indent: -36pt; tab-stops: list 75.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">II、</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">如果该域是</span><span><span style="font-family: Times New Roman">byte</span></span><span style="font-family: 宋体">、</span><span><span style="font-family: Times New Roman">char</span></span><span style="font-family: 宋体">、</span><span><span style="font-family: Times New Roman">short</span></span><span style="font-family: 宋体">或者</span><span><span style="font-family: Times New Roman">int</span></span><span style="font-family: 宋体">类型，则计算</span><span><span style="font-family: Times New Roman">(int)f</span></span><span style="font-family: 宋体">。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 75pt; text-indent: -36pt; tab-stops: list 75.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">III、</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">如果该域是</span><span><span style="font-family: Times New Roman">long</span></span><span style="font-family: 宋体">类型，则计算</span><span><span style="font-family: Times New Roman">(int)(f ^ f ( f &gt;&gt; 32 ) )</span></span><span style="font-family: 宋体">。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 75pt; text-indent: -36pt; tab-stops: list 75.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">IV、</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">如果该域是</span><span><span style="font-family: Times New Roman">float</span></span><span style="font-family: 宋体">类型，则计算</span><span><span style="font-family: Times New Roman">Float.floatToInitBits( f )</span></span><span style="font-family: 宋体">。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 75pt; text-indent: -36pt; tab-stops: list 75.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">V、</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">如果该域是</span><span><span style="font-family: Times New Roman">double</span></span><span style="font-family: 宋体">类型，则计算</span><span><span style="font-family: Times New Roman">Double.doubleToLongBits( f )</span></span><span style="font-family: 宋体">得到一个</span><span><span style="font-family: Times New Roman">long</span></span><span style="font-family: 宋体">类型的值，再执行步骤</span><span><span style="font-family: Times New Roman">III</span></span><span style="font-family: 宋体">。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 75pt; text-indent: -36pt; tab-stops: list 75.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">VI、</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">如果该域是一个对象引用，并且该类的</span><span><span style="font-family: Times New Roman">equals</span></span><span style="font-family: 宋体">方法通过递归调用</span><span><span style="font-family: Times New Roman">equals</span></span><span style="font-family: 宋体">的方式来比较这个域，则同样对这个递归调用</span><span><span style="font-family: Times New Roman">hashCode</span></span><span style="font-family: 宋体">。如果要求一个更为复杂的比较，则为这个域计算一个规范表示，然后针对这个范式表示调用</span><span><span style="font-family: Times New Roman">hashCode</span></span><span style="font-family: 宋体">。如果这个域为</span><span><span style="font-family: Times New Roman">NULL</span></span><span style="font-family: 宋体">，则返回</span><span><span style="font-family: Times New Roman">0</span></span><span style="font-family: 宋体">或者其他常数。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 75pt; text-indent: -36pt; tab-stops: list 75.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">VII、</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">如果该域是一个数组，则把每个元素当作单独的域来处理。也就是说，递归地应用上述规则，对每个重要的元素计算一个散列码，然后根据步骤</span><span><span style="font-family: Times New Roman">B</span></span><span style="font-family: 宋体">中的做法把这些散列码组合起来。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 39pt; text-indent: -18pt; tab-stops: list 39.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">B、</span><span style="font-family: 'Times New Roman'"> </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">按照下面的公式，把上面步骤的</span><span><span style="font-family: Times New Roman">C</span></span><span style="font-family: 宋体">组合到</span><span><span style="font-family: Times New Roman">result</span></span><span style="font-family: 宋体">中：</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 39pt"><span><span style="font-size: small; font-family: Times New Roman">result = 17 * result + c;</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">3、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-size: small"><span style="font-family: 宋体">返回</span><span><span style="font-family: Times New Roman">result</span></span><span style="font-family: 宋体">。</span></span></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; tab-stops: list 18.0pt"><span><span><span style="font-family: Times New Roman"><span style="font-size: small">4、</span><span style="font-family: 'Times New Roman'">&nbsp; </span></span></span></span><span style="font-family: 宋体"><span style="font-size: small">写完后测试是否相等的实例具有相同的散列码。</span></span></p>
          <br/>
          <span style="color:red;">
            <a href="http://beyondqinghua.javaeye.com/blog/170219#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 11 Mar 2008 16:08:39 +0800</pubDate>
        <link>http://beyondqinghua.javaeye.com/blog/170219</link>
        <guid>http://beyondqinghua.javaeye.com/blog/170219</guid>
      </item>
  </channel>
</rss>