<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>awed</title>
    <description></description>
    <link>http://awed.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>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/147805" style="color:red;">http://awed.javaeye.com/blog/147805</a>&nbsp;
          发表时间: 2007年12月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          自动装箱与拆箱的误用<br />在JAVA JDK1.5以后具有的自动装箱与拆箱的功能，所谓的自动装箱<br />与拆箱也就是把基本的数据类型自动的转为封装类型。<br />如：自动装箱，它可以直接把基本类型赋值给封装类型<br />Integer num = 10 ;<br />Double d = 2d ;<br />&nbsp;&nbsp;&nbsp; <br />自动拆箱，它可以把封装类型赋值给基本类型<br />int num = new Integer(10);<br />double d = new Double(2d);<br />知道了自动装箱与拆箱后我们现看一下下面这两个程序代码：<br /><pre name="code" class="java">AutoBoxDemo1.java
-------------------------------------------------------
public class AutoBoxDemo1 
{
public static void main(String[] args) 
{        
        Integer d1 = 100 ;
        Integer d2 = 100 ;
        if(d1==d2)
            System.out.println("d1==d2");
        else
            System.out.println("d1!=d2");
    }
}

AutoBoxDemo2.java
--------------------------------------------------------
public class AutoBoxDemo2 
{
public static void main(String[] args) 
{        
        Integer d1 = 200 ;
        Integer d2 = 200 ;
        if(d1==d2)
            System.out.println("d1==d2");
        else
            System.out.println("d1!=d2");
    }
}</pre><br />大家看看这两个程序代码的结果是怎么样的呢？<br />其实在AutoBoxDemo1.java中结果是：d1==d2<br />在AutoBoxDemo2.java中结果是：d1!=d2<br />为什么结果会是这样的？我们来看了解一下！<br />其实刚刚这两个程序结果的不同是与==运算符比较有关，==是用来比较<br />两个基本数据类型的变量是否相等的，而事实上==也用于判断两个对象<br />变量名是否参考同一对象。在自动装箱时对于值从-128到127之间的值<br />它们被装箱为Integer对象后会在内存中重用，所以在AutoBoxDemo1.java<br />中是相等的，而超过了从-128到127之前的值时，被装箱后的Integer对象<br />并不会被重用。所以AutoBoxDemo2.java中是不相等的。
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/147805#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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, 12 Dec 2007 14:21:33 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/147805</link>
        <guid>http://awed.javaeye.com/blog/147805</guid>
      </item>
          <item>
        <title>StringBuffer 类与 StringBuilder 类</title>
        <author>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/147804" style="color:red;">http://awed.javaeye.com/blog/147804</a>&nbsp;
          发表时间: 2007年12月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这两个类都是用于字符操作而且有相同的方法，具有相同的操作接口，StringBuilder类是在<br />J2SE5.0以后才新增的类，主要区别在于：<br />在单机非多线程的情况下StringBuilder类具有更高的效率，因为StringBuilder类没有处理同<br />步问题，而StringBuffer类则会处理同步问题，如果StringBuilder会在多线程下操作，则需要<br />改用StringBuffer类。
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/147804#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 12 Dec 2007 14:19:43 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/147804</link>
        <guid>http://awed.javaeye.com/blog/147804</guid>
      </item>
          <item>
        <title>[恶补JAVA]关于覆盖与重载</title>
        <author>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/145614" style="color:red;">http://awed.javaeye.com/blog/145614</a>&nbsp;
          发表时间: 2007年12月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          JAVA不允许多重继承，但允许间接继承，如C继承了B，同时B又继承了A那么就拥有类A和B的属性及方法。<br />以前在学习JAVA基础的时候，总以为单一个类继承了另一个类的时候，继承类<br />就拥有了被继承类的除private关键字修饰外的所有方法和属性。<br />其实不然，继承它可以分为两种情况：<br />一、	当继承类和被继续类位于同一包中时。<br />子类会继承父类中的public 、protected 和默认访问级别的成叫变量和方法。<br />二、	当继承类和被继续类不在同一包中时<br />子类会继承父类中的public 、protected 访问级别的成叫变量和方法。<br />如以下两个类，Base和Sub，base为Sub的父类。<br />在同一包时：<br /><pre name="code" class="java">package base;

public class Base {
    public int publicBase = 1 ;         //public访问级别
    private int privateBase = 1;        //private访问级别
    int defaultBase = 1;                //默认访问级别
    
    protected void protecteMethodofBase() {  //protected访问级别
    
    }
}

package base;


public class Sub extends Base {
    protected void protecteMethodofSub() {  //protected访问级别
        System.out.println(publicBase);
        System.out.println(privateBase);//报错，私有的不能继承。
        System.out.println(defaultBase);
        
        protecteMethodofBase();
    }
    
    public static void main(String args[]){
        Sub sub = new Sub();
        sub.protecteMethodofSub();
    }
}</pre><br /><br />只有私有的方法不能继承。<br /><br />在不同的包时：我们把Sub类的包改为sub时<br /><pre name="code" class="java">package sub;

import base.Base;


public class Sub extends Base {
    protected void protecteMethodofSub() {  //protected访问级别
        System.out.println(publicBase);
        System.out.println(privateBase);//报错，私有的不能继承。
        System.out.println(defaultBase);//报错，不在同一包下默认级别不能继承。
        
        protecteMethodofBase();
    }
    
    public static void main(String args[]){
        Sub sub = new Sub();
        sub.protecteMethodofSub();
    }
}</pre><br /><br />方法重载（Overload）<br />	类的同一种功能可以有多种方法，当一个类中多少方法具有相同的方法名，却含有不同的方法参数则为方法的重载（Overload）如：<br /><pre name="code" class="java">	Public void getString(String str){
		return str ;
}

Public void getString(String str,String str1){
		return str + str1;
}</pre><br /><br />当从父类中继承了某个方法，如果两个方法名相同，却有不同参数时，可以说一个方法是另一个方法的重载。<br />重载必须满足以下条件。<br />1、	方法名相同。<br />2、	方法的参数，个数，顺序至少有一个不同。<br />3、	方法的返回类型可以相同，也可以不相同。<br /><br /><br />方法的覆盖（Override）<br />	如果子类中，定义的一个方法，其名称、返回类型、以及参数与父类中的某个方法相匹配，则该子类重写的父类的方法。<br />覆盖方法必须满足以下条件。<br />1、	子类方法的名称、参数、返回类型必须与父类方法一致。<br />2、	子类方法不能缩小父类方法的访问权限。<br />3、	子类方法不能抛出比父类方法更多的异常。也就是说子类方法抛出的异常必须与父类方法抛出的异常相同或者是子类方法抛出的异常是父类抛出异常的子类。<br />4、	方法的覆盖只能存在与父类与子类，同一类中只存在方法的重载，不存在方法的覆盖。<br />5、	父类中的私有方法不能补覆盖。<br />6、	父类中的非抽象方法，可以被覆盖为抽象方法。<br /><br /><br />this与super的区别<br />this表示调用当前类的属性或方法，也可以用this当前类本身。<br />super表示调用父类的方法或属性。<br />父类中的成员变量或方法为私有的（private）时，super不能调用到。
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/145614#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 03 Dec 2007 15:37:46 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/145614</link>
        <guid>http://awed.javaeye.com/blog/145614</guid>
      </item>
          <item>
        <title>使用Filter设置字符编码及禁止页面缓存</title>
        <author>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/140506" style="color:red;">http://awed.javaeye.com/blog/140506</a>&nbsp;
          发表时间: 2007年11月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font face="Arial">
<div class="code_title">
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.io.IOException; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;javax.servlet.Filter; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;javax.servlet.FilterChain; &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;javax.servlet.FilterConfig; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;javax.servlet.ServletException; &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;javax.servlet.ServletRequest; &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;javax.servlet.ServletResponse; &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;javax.servlet.http.HttpServletResponse; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;EncodingAndCacheflush&nbsp;</span><span class="keyword">implements</span><span>&nbsp;Filter{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;FilterConfig&nbsp;config&nbsp;; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;destroy()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;doFilter(ServletRequest&nbsp;request,&nbsp;ServletResponse&nbsp;response,&nbsp;FilterChain&nbsp;chain)&nbsp;</span><span class="keyword">throws</span><span>&nbsp;IOException,&nbsp;ServletException&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;encoding&nbsp;=&nbsp;config.getInitParameter(</span><span class="string">&quot;encoding&quot;</span><span>);</span><span class="comment">//从配置文件从读取编码格式 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.setCharacterEncoding(encoding);</span><span class="comment">//设置编码 </span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((HttpServletResponse)response).setHeader(</span><span class="string">&quot;Pragma&quot;</span><span>,</span><span class="string">&quot;No-cache&quot;</span><span>);&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((HttpServletResponse)response).setHeader(</span><span class="string">&quot;Cache-Control&quot;</span><span>,</span><span class="string">&quot;no-cache&quot;</span><span>);&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((HttpServletResponse)response).setHeader(</span><span class="string">&quot;Expires&quot;</span><span>,</span><span class="string">&quot;0&quot;</span><span>);</span><span class="comment">//禁止缓存&nbsp; </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chain.doFilter(request,&nbsp;response); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;init(FilterConfig&nbsp;config)&nbsp;</span><span class="keyword">throws</span><span>&nbsp;ServletException&nbsp;{&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">this</span><span>.config&nbsp;=&nbsp;config; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>} &nbsp;&nbsp;</span></li>
</ol>
</div>
</div>
<div class="code_title">在web.xml中加入Filter的配置，如下：
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">filter</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>EncodingAndCacheflush</span><span class="tag">&lt;/</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-class</span><span class="tag">&gt;</span><span>EncodingAndCacheflush</span><span class="tag">&lt;/</span><span class="tag-name">filter-class</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">init-param</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">param-name</span><span class="tag">&gt;</span><span>encoding</span><span class="tag">&lt;/</span><span class="tag-name">param-name</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">param-value</span><span class="tag">&gt;</span><span>UTF-8</span><span class="tag">&lt;/</span><span class="tag-name">param-value</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">init-param</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">filter</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-mapping</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>EncodingAndCacheflush</span><span class="tag">&lt;/</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>/*</span><span class="tag">&lt;/</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">filter-mapping</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
</ol>
</div>
</div>
<p>&nbsp;</p>
<p>还有几点需要注意的是：</p>
<p>要传递参数的时候最好使用form进行传参，如果使用链接的话当中文字符的时候过滤器转码是不会起作用的，还有就是页面上</p>
<p>form的method也要设置为post，不然过滤器也起不了作用。</p>
</font>然后在页面中设置编码为UTF-8这样就不必第次都进行转码了。
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/140506#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 14 Nov 2007 15:04:53 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/140506</link>
        <guid>http://awed.javaeye.com/blog/140506</guid>
      </item>
          <item>
        <title>join 使用详解方式 (转)</title>
        <author>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/140206" style="color:red;">http://awed.javaeye.com/blog/140206</a>&nbsp;
          发表时间: 2007年11月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          join 方式<br />
（1) cross join <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 参与select语句所有表的的所有行的笛卡尔乘积<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select au_lname ,title from authors cross join&nbsp; titiles <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outer join 对参与join的两个表有主从之分，处理方式以主表的每条数据去match 从属表的列，合乎条件的数据是我们所要的答案，不合乎条件的也是我们要的答案，只不过哪些从属表选取的列将被添上null。<br />
(2) left join <br />
&nbsp;&nbsp;&nbsp;&nbsp; 左边的为主表，右边为从属表<br />
&nbsp;&nbsp;&nbsp;&nbsp; select a.cust_id ,b.order_date,b.tot_ant from customer a left join sales b<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on (a.cust_id =b.cust_id and b.order_date&gt;''1996/10/15'')<br />
&nbsp;&nbsp;&nbsp;&nbsp; 可以写为<br />
&nbsp;&nbsp;&nbsp;&nbsp; select a.cust_id,b.order_date,b.tot_ant from custom a <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; left join (select * from sales where order_date&gt;''1996/10/15'') b<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on a.cust_id =b.cust_id&nbsp;&nbsp; <br />
(3) right join<br />
&nbsp;&nbsp;&nbsp;&nbsp; 左边的表为从属表，右边的表为主表<br />
(4) self join <br />
&nbsp;&nbsp;&nbsp;&nbsp; self join 常用在同一表内不同数据间对同一列的比较<br />
&nbsp;&nbsp;&nbsp;&nbsp; select a.emp_no,a.emp_name,b.emp_no,b.emp_name,a.date_hired from employee a<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join employee b on (a.emp_no!=b.emp_no and a.date_hired=b.date_hired)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; order by a.date_hired<br />
&nbsp;&nbsp;&nbsp;&nbsp; 这样会重复数据，只要加上一句 and a.emp_name&gt;b.emp_name<br />
(5) full join <br />
&nbsp;&nbsp;&nbsp;&nbsp; 不仅列出符合条件的数据，两边未符合join条件的数据也会一并列出。哪些未符合join条件的数据如果在select列中无法得到对应的值则填上null<br />
&nbsp;&nbsp;&nbsp; select a.cust_id,b.tot_amt from customer a full join sales b<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on a.cust_id=b.cust_id<br />
&nbsp;&nbsp;&nbsp; 有表<br />
&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp; ic&nbsp; name&nbsp; amount<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i&nbsp;&nbsp; <br />
&nbsp;&nbsp; 要求结果为&nbsp; <br />
&nbsp;&nbsp;&nbsp; ic&nbsp; name&nbsp; amount&nbsp; ic&nbsp;&nbsp; name&nbsp; amount<br />
&nbsp;&nbsp;&nbsp; i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c <br />
&nbsp;&nbsp;&nbsp; i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c<br />
&nbsp;&nbsp;&nbsp; i<br />
&nbsp;&nbsp;&nbsp; i<br />
&nbsp; select aaa.*,bbb.*&nbsp; from (select (select count(id) from aa as b where (b.id&lt;a.id) and (ic=''i'')) as newid, * <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from aa a where ic=''i'') aaa full join <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (select (select count(id) from aa as b where b.id&lt;a.id and ic=''c'') as newid,* from<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aa a where ic=''c'') bbb on aaa.newid=bbb.newid order by aaa.name&nbsp; <br />
&nbsp;6.使用 HASH 和 MERGE 联接提示<br />
&nbsp;&nbsp; 此示例在 authors、titleauthors 和 titles 表之间建立三表联接，以生成一个作者及其著作的列表。查询优化器使用 MERGE 联接将 authors 和 titleauthors (A x TA) 联接在一起。然后，将 authors 和 titleauthors MERGE 联接 (A x TA) 的结果与 titles 表进行 HASH 联结以生成 (A x TA) x T。<br />
&nbsp;重要&nbsp; 指定联接提示后，要执行 INNER JOIN 时 INNER 关键字不再为可选，而必须显式说明。<br />
&nbsp; USE pubs<br />
&nbsp; SELECT SUBSTRING((RTRIM(a.au_fname) + '' '' + LTRIM(a.au_lname)), 1, 25)<br />
&nbsp;&nbsp;&nbsp;&nbsp; AS Name, SUBSTRING(t.title, 1, 20) AS Title<br />
&nbsp;&nbsp;&nbsp;&nbsp; FROM authors a INNER MERGE JOIN titleauthor ta <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ON a.au_id = ta.au_id INNER HASH JOIN titles t <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ON t.title_id = ta.title_id<br />
&nbsp;&nbsp;&nbsp;&nbsp; ORDER BY au_lname ASC, au_fname ASC
<p>&nbsp; 下面是结果集：</p>
<p>&nbsp; Warning: The join order has been enforced because a local join hint is used.<br />
&nbsp; Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Title&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; ------------------------- -------------------- <br />
&nbsp; Abraham Bennet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The Busy Executive''s <br />
&nbsp; Reginald Blotchet-Halls&nbsp;&nbsp; Fifty Years in Bucki <br />
&nbsp; Cheryl Carson&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; But Is It User Frien <br />
&nbsp; Michel DeFrance&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The Gourmet Microwav <br />
&nbsp; Innes del Castillo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Silicon Valley Gastr <br />
&nbsp; ...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br />
&nbsp; Johnson White&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prolonged Data Depri <br />
&nbsp; Akiko Yokomoto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sushi, Anyone?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp; (25 row(s) affected)</p>
<p><br />
</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/140206#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 13 Nov 2007 14:20:09 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/140206</link>
        <guid>http://awed.javaeye.com/blog/140206</guid>
      </item>
          <item>
        <title>sql server2000 时间操作</title>
        <author>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/140153" style="color:red;">http://awed.javaeye.com/blog/140153</a>&nbsp;
          发表时间: 2007年11月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">1.显示本月第一天<br />
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0) <br />
select convert(datetime,convert(varchar(8),getdate(),120)+'01',120)</font></p>
<p><font face="Arial">2.显示本月最后一天<br />
select dateadd(day,-1,convert(datetime,convert(varchar(8),dateadd(month,1,getdate()),120)+'01',120))<br />
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0)) </font></p>
<p><font face="Arial">3.上个月的最后一天 <br />
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0)) </font></p>
<p><font face="Arial">4.本月的第一个星期一<br />
select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())),0)</font></p>
<p><font face="Arial">5.本年的第一天 <br />
SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0) </font></p>
<p><font face="Arial">6.本年的最后一天 <br />
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))</font></p>
<p><font face="Arial">7.去年的最后一天 <br />
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))</font></p>
<p><font face="Arial">8.本季度的第一天 <br />
SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)&nbsp; </font></p>
<p><font face="Arial">9.本周的星期一 <br />
SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0) </font></p>
<p><font face="Arial">10.查询本月的记录 <br />
select * from tableName where DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) </font></p>
<p><font face="Arial">11.查询本周的记录 <br />
select * from tableName where DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) </font></p>
<p><font face="Arial">12.查询本季的记录 <br />
select * from tableName where DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) <br />
其中:GETDATE()是获得系统时间的函数。</font></p>
<p><font face="Arial">13.获取当月总天数:<br />
select DATEDIFF(dd,getdate(),DATEADD(mm, 1, getdate()))</font></p>
<p><font face="Arial">select datediff(day,<br />
dateadd(mm, datediff(mm,'',getdate()), ''),<br />
dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))</font></p>
<p><font face="Arial">14.获取当前为星期几<br />
DATENAME(weekday, getdate())</font></p>
<p><font face="Arial">15. 当前系统日期、时间 <br />
select getdate() </font></p>
<p><font face="Arial">16. dateadd 在向指定日期加上一段时间的基础上，返回新的 datetime 值<br />
例如：向日期加上2天 <br />
select dateadd(day,2,'2004-10-15') --返回：2004-10-17 00:00:00.000</font></p>
<p><font face="Arial">17. datediff 返回跨两个指定日期的日期和时间边界数。<br />
select datediff(day,'2004-09-01','2004-09-18') --返回：17</font></p>
<p><font face="Arial">18. datepart 返回代表指定日期的指定日期部分的整数。<br />
SELECT DATEPART(month, '2004-10-15') --返回 10<br />
年为year,月为month，日为day,小时hour,分为minute，秒为second</font></p>
<p><font face="Arial">19. datename 返回代表指定日期的指定日期部分的字符串<br />
SELECT datename(weekday, '2004-10-15') --返回：星期五</font></p>
<p><font face="Arial">17. day(), month(),year() --可以与datepart对照一下<br />
select 当前日期=convert(varchar(10),getdate(),120),当前时间=convert(varchar(8),getdate(),114) <br />
select datename(dw,'2004-10-15') <br />
select 本年第多少周=datename(week,'2004-10-15'),今天是周几=datename(weekday,'2004-10-15')</font></p>
<p><font face="Arial">函数 参数/功能<br />
GetDate( ) 返回系统目前的日期与时间<br />
DateDiff (interval,date1,date2) 以interval 指定的方式，返回date2 与date1两个日期之间的差值 date2-date1<br />
DateAdd (interval,number,date) 以interval指定的方式，加上number之后的日期<br />
DatePart (interval,date) 返回日期date中，interval指定部分所对应的整数值<br />
DateName (interval,date) 返回日期date中，interval指定部分所对应的字符串名称</font></p>
<p><font face="Arial">参数 interval的设定值如下：<br />
值 缩 写（Sql Server） 说明<br />
Year Yy 年 1753 ~ 9999<br />
Quarter Qq 季 1 ~ 4<br />
Month Mm 月1 ~ 12<br />
Day of year Dy 一年的日数,一年中的第几日 1-366<br />
Day Dd 日，1-31<br />
Weekday Dw 一周的日数，一周中的第几日 1-7<br />
Week Wk 周，一年中的第几周 0 ~ 51<br />
Hour Hh 时0 ~ 23<br />
Minute Mi 分钟0 ~ 59<br />
Second Ss 秒 0 ~ 59<br />
Millisecond Ms 毫秒 0 ~ 999</font></p>
<p><font face="Arial">举例：<br />
1.GetDate() 用于sql server :select GetDate()</font></p>
<p><font face="Arial">2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒<br />
&nbsp; DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天</font></p>
<p><font face="Arial">3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1，周六为7)<br />
&nbsp; DatePart('d','2005-7-25 22:56:32')返回值为 25即25号<br />
&nbsp; DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天<br />
&nbsp; DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年</font></p>
<p><font face="Arial">应用示例：</font></p>
<p><font face="Arial">查询某个日期之间的记录数据：<br />
select * from 表 where 开始时间&gt;'2005-02-01' and 结束时间&lt;='2005-06-05'order by id desc</font></p>
<font face="Arial">
<p><br />
查询最近30内的记录数据：<br />
select * from 表 where datediff(Dd,last_date,getdate())&lt;=30 order by id desc</p>
<p>查询最近一周内的点击率大于100的记录数据：<br />
select * from t_business_product where hit_count&gt;100 and datediff(Dw,last_date,getdate())&lt;=7 order by id desc</p>
<p>查询某一年(如2006年)的记录数据：<br />
select * from 表 where DatePart(Yy,last_date)=2006 order by id desc<br />
或<br />
select * from 表 where DatePart(Year,last_date)=2006 order by id desc</p>
<p>如查询系统当前年份插入的一年内的数据：<br />
select * from 表 where DatePart(Yy,getdate())=DatePart(Yy,getdate()) order by id desc</p>
</font>
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/140153#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 13 Nov 2007 11:43:53 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/140153</link>
        <guid>http://awed.javaeye.com/blog/140153</guid>
      </item>
          <item>
        <title>Struts生成Excel文件下载</title>
        <author>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/139491" style="color:red;">http://awed.javaeye.com/blog/139491</a>&nbsp;
          发表时间: 2007年11月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title"></div>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>downloadaction.java &nbsp;&nbsp;</span></span> </li>
    <li class=""><span></span><span class="comment">//-------------------------------------------------------------------------------- </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;org.apache.struts.action.*; &nbsp;&nbsp;</span> </li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;javax.servlet.http.*; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;java.io.outputstream;&nbsp;&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span></span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;downloadaction&nbsp;</span><span class="keyword">extends</span><span>&nbsp;action&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;actionforward&nbsp;execute(actionmapping&nbsp;mapping, &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;actionform&nbsp;form,&nbsp;httpservletrequest&nbsp;request, &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpservletresponse&nbsp;response) &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">throws</span><span>&nbsp;exception&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;fname&nbsp;=&nbsp;</span><span class="string">&quot;test&quot;</span><span>;</span><span class="comment">//excel文件名 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outputstream&nbsp;os&nbsp;=&nbsp;response.getoutputstream();</span><span class="comment">//取得输出流 </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.reset();</span><span class="comment">//清空输出流 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setheader(</span><span class="string">&quot;content-disposition&quot;</span><span>,&nbsp;</span><span class="string">&quot;attachment;&nbsp;filename=&quot;</span><span>&nbsp;+&nbsp;fname&nbsp;+&nbsp;</span><span class="string">&quot;.xls&quot;</span><span>);</span><span class="comment">//设定输出文件头 </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setcontenttype(</span><span class="string">&quot;application/msexcel&quot;</span><span>);</span><span class="comment">//定义输出类型 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;excelbean&nbsp;eb&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;excelbean(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eb.expordexcel(os);</span><span class="comment">//调用生成excel文件bean </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}</span><span class="keyword">catch</span><span>(exception&nbsp;e){ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system.out.println(e); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;mapping.findforward(</span><span class="string">&quot;display&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>}&nbsp;&nbsp;</span> </li>
</ol>
</div>
<p>生成excel文件的类：</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>Excelbean.java&nbsp;&nbsp;&nbsp;</span></span>&nbsp;<span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span></span><span class="comment">//--------------------------------------------------------------------------------</span><span>&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;java.io.*; &nbsp;&nbsp;</span> </li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;jxl.*; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;jxl.write.*; &nbsp;&nbsp;</span> </li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;jxl.format.*; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span></span><span class="keyword">import</span><span>&nbsp;java.util.*; &nbsp;&nbsp;</span> </li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;java.awt.color; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span></span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Excelbean&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;Excelbean(){} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;string&nbsp;expordexcel(outputstream&nbsp;os)</span><span class="keyword">throws</span><span>&nbsp;exception{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;jxl.write.writableworkbook&nbsp;wbook&nbsp;=&nbsp;workbook.createworkbook(os);&nbsp;</span><span class="comment">//建立excel文件 </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;tmptitle&nbsp;=&nbsp;</span><span class="string">&quot;测试文件&quot;</span><span>;&nbsp;</span><span class="comment">//标题 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;jxl.write.writablesheet&nbsp;wsheet&nbsp;=&nbsp;wbook.createsheet(</span><span class="string">&quot;第一页&quot;</span><span>,&nbsp;</span><span class="number">0</span><span>);&nbsp;</span><span class="comment">//sheet名称 </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//设置excel标题 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;jxl.write.writablefont&nbsp;wfont&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;jxl.write.writablefont( &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writablefont.arial,&nbsp;</span><span class="number">16</span><span>, &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writablefont.bold,&nbsp;</span><span class="keyword">false</span><span>,&nbsp;jxl.format.underlinestyle.no_underline, &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jxl.format.colour.black); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;jxl.write.writablecellformat&nbsp;wcffc&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;jxl.write.writablecellformat( &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wfont); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;jxl.write.label&nbsp;wlabel1; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;wlabel1&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;jxl.write.label(</span><span class="number">5</span><span>,&nbsp;</span><span class="number">0</span><span>,&nbsp;tmptitle,&nbsp;wcffc); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;wsheet.addcell(wlabel1); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;wfont&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;jxl.write.writablefont( &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writablefont.arial,&nbsp;</span><span class="number">14</span><span>, &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writablefont.bold,&nbsp;</span><span class="keyword">false</span><span>,&nbsp;jxl.format.underlinestyle.no_underline, &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>jxl.format.colour.black); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;wcffc&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;jxl.write.writablecellformat( &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wfont); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;jxl.write.label&nbsp;wlabel; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;wlabel&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;jxl.write.label(</span><span class="number">0</span><span>,&nbsp;</span><span class="number">0</span><span>,&nbsp;</span><span class="string">&quot;写入内容&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;wsheet.addcell(wlabel);&nbsp;</span><span class="comment">// </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;wbook.write();&nbsp;</span><span class="comment">//写入文件 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;wbook.close(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;os.close(); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="string">&quot;success&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>}&nbsp;&nbsp;</span> </li>
</ol>
</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/139491#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 09 Nov 2007 15:22:24 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/139491</link>
        <guid>http://awed.javaeye.com/blog/139491</guid>
      </item>
          <item>
        <title>人生是什么?我们为什么而活?</title>
        <author>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/139489" style="color:red;">http://awed.javaeye.com/blog/139489</a>&nbsp;
          发表时间: 2007年11月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div style="MARGIN-BOTTOM: 10px">
<h4 class="mode_title" id="veryTitle">人生是什么?我们为什么而活?</h4>
</div>
<p class="mode_table_menu"><font size="4"><font size="3">十年生死两茫茫，不思量，自难忘；千里孤坟，无处话凄凉。纵使相逢应不识，尘满面，鬓如霜。</font><wbr></wbr><br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em">&nbsp;&nbsp;&nbsp;<font style="LINE-HEIGHT: 1.3em">&nbsp;一个人站在窗前，看着这云卷云舒，想起那些已逝的流年；一个人立在岁月的尽头，看花开花落，品人生；一个人坐在不为人知的角落，看亲情如灯，写着属于自己的心情日记&hellip;&hellip;</font></font><wbr></wbr><br />
&nbsp;<br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em">&nbsp;&nbsp;&nbsp;&nbsp;<font style="LINE-HEIGHT: 1.3em">这一路走来，也有三十余载，一直不明白，一再的追问自己：人生是什么？人这一生的意义又是什么？我们在一生中追求什么？又得到了什么？人又是为谁而活？谁人能明白，又有谁能够说的清道的明！</font></font><wbr></wbr><br />
&nbsp;<br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em"><font style="LINE-HEIGHT: 1.3em">&nbsp;&nbsp;&nbsp;&nbsp;<font style="LINE-HEIGHT: 1.3em">曾听人说：人生如歌、人生如戏、也有人说：人生如梦一场；总而言之，人给这二个字词赋予了太多的意义，但是都是茫然的，无一人道的明&hellip;&hellip;</font><wbr></wbr></font><wbr></wbr></font><wbr></wbr><br />
</font><font size="4"><font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em"><font style="LINE-HEIGHT: 1.3em"><font style="LINE-HEIGHT: 1.3em">&nbsp;&nbsp;&nbsp;<br />
</font><wbr></wbr>&nbsp;&nbsp;&nbsp;<font style="LINE-HEIGHT: 1.3em">&nbsp;不同的人，对待人生的看法与评论也有不同的理解；生活在开心世界里的人认为：人生是美好的，只是太短暂了，还没有享受完所想享受的一切。生活在煎熬中的人认为：人生的路是漫长的，是充满着曲折和荆棘的。人生，对于努力向前的人来说：是充满希望和光芒的。可是对于那些自暴自弃的人来说：又是充满黑暗的&hellip;&hellip;</font><wbr></wbr></font><wbr></wbr></font><wbr></wbr><br />
<br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em">&nbsp;&nbsp;&nbsp;&nbsp;<font style="LINE-HEIGHT: 1.3em">人生因何而为梦一般，我们每个人都逃脱不了虚拟中的繁杂；有很多事在你我还没来得及去珍惜，就已匆匆的成为了旧事。有很多的人，在我们还没有用心对待之时就成了旧人。一切的一切总是过的太快，很多事情的发生，往往给予我们一种恍惚如梦的感觉&hellip;&hellip;</font></font><br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em"><font style="LINE-HEIGHT: 1.3em">&nbsp;&nbsp;&nbsp;</font><wbr></wbr><font style="LINE-HEIGHT: 1.3em">人生如梦，梦亦是生命的精神牵绊。入梦如生，出梦则如死。梦也是生的希望，无梦或梦醒，就尤如人没有了希望。</font><wbr></wbr></font><wbr></wbr><br />
<br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em">&nbsp;&nbsp;&nbsp;<font style="LINE-HEIGHT: 1.3em">&nbsp;人生如戏，一点都不假；其实我们每个人都是在自编自导着，演绎着我们自己所想演的戏，不管是高兴着还是忧郁着，不管是痛哭还是欢畅。梦与戏其实都是如此，都是靠我们自己来主宰。因为只有自己才是唯一的，能够执行自己命运的执行官。即便是对于现在生活在迷茫中的我来说亦是如此，我一样也可以主宰自己，我可以主宰自己，让自己走出迷茫，但说白了，终究是自己不愿意，是自己愿意，是自己让自己沉醉在迷茫之中的&hellip;&hellip;</font></font><wbr></wbr><br />
&nbsp;<br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em">人生如歌亦如泣，有时我们的人生也如一盘棋；活的认真的人，他会仔细斟酌自己所要走的每一步是对亦或错，是赢还是输。与棋不同的是，人生还不如弈棋，因为任何人只要是走错了，就永远都不可能再重新开局；而棋的不同之处洽洽在此，可以悔棋，可以重新开局；所以我们有必要走好人生的每一步。人生其实失去点什么并不是最可怕的，怕的是不再努力，怕的是因此而放弃；落后并不可怕，可怕的是没有追求没有前进的意识。</font><wbr></wbr><br />
<br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em">&nbsp;&nbsp;&nbsp;&nbsp;<font style="LINE-HEIGHT: 1.3em">人生也如水，水有逆流，也有顺流；人生也有欢乐与痛苦，追求与思索；我们既要尽力适应环境，也要努力改变环境；我们应该多一点韧性，在必要的时候能伸亦能曲，因为太坚硬的往往也是易断的。唯有那些柔韧的、有弹性的人，才可以克服更多的困难，战胜更多的挫折，这才是人生的真谛。</font></font><br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em">所以说，人生究竟是什么？我也曾给过自己无数的答案，但是到最后，那无数个答案都一一的被自己推翻。</font><wbr></wbr><br />
<br />
<font style="FONT-SIZE: xx-small; LINE-HEIGHT: 1.3em">说<font style="LINE-HEIGHT: 1.3em">到人生的意义是什么？我无法写照。因为人生没有一个定义，人生的定义是由自己去写的，因为人生是变幻无常的，所以，人，无法给予它一个定义&hellip;&hellip;</font></font></font></p>
<p id="quoteinfo" style="MARGIN-BOTTOM: 10px"><font size="4"></font></p>
<p id="voteAnchor"><font size="4"></font></p>
<p style="POSITION: relative"><font size="4"></font></p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/139489#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Fri, 09 Nov 2007 15:13:52 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/139489</link>
        <guid>http://awed.javaeye.com/blog/139489</guid>
      </item>
          <item>
        <title>几种排序方法的比较</title>
        <author>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/108117" style="color:red;">http://awed.javaeye.com/blog/108117</a>&nbsp;
          发表时间: 2007年08月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title">
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Sort&nbsp;{ &nbsp;&nbsp;</span></span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;插入法:遍历排序集合，每到一个元素时，都要将这个元素与所有它之前的元素遍历比较一遍，&nbsp;让符合排序顺序的元素挨个移动到当前范围内它最应该出现的位置。交换是相邻遍历移动， </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;双重循环控制实现.这种排序法属于地头蛇类型,在我的地牌上我要把所有的东西按一定的顺序&nbsp;规整,过来一个,规整一个. </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">int</span><span>[]&nbsp;sort(</span><span class="keyword">int</span><span>[]&nbsp;data)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">int</span><span>&nbsp;temp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class="number">1</span><span>;&nbsp;i&nbsp;&lt;&nbsp;data.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;j&nbsp;=&nbsp;i;&nbsp;(j&nbsp;&gt;&nbsp;</span><span class="number">0</span><span>)&nbsp;&amp;&amp;&nbsp;(data[j]&nbsp;&gt;&nbsp;data[j&nbsp;-&nbsp;</span><span class="number">1</span><span>]);&nbsp;j--)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;=&nbsp;data[j]; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[j]&nbsp;=&nbsp;data[j&nbsp;-&nbsp;</span><span class="number">1</span><span>]; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[j&nbsp;-&nbsp;</span><span class="number">1</span><span>]&nbsp;=&nbsp;temp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;data; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;冒泡法:比较容易，它的内层循环保证遍历一次后，集合中最小（大）元素出现在它的正确位置，&nbsp;下一次就是次小元素。。。该方法在集合分布的各种情况下交换移动的次数基本不变， </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;属于最慢的一种排序。实现也是双重循环控制。这种排序法属于过江龙,就是要找到极端,&nbsp;但是过奖龙也有大哥,二哥等,所以他们只能是大哥挑了二哥挑. </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">int</span><span>[]&nbsp;maopao(</span><span class="keyword">int</span><span>[]&nbsp;data)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">int</span><span>&nbsp;temp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;i&nbsp;&lt;&nbsp;data.length&nbsp;-&nbsp;</span><span class="number">1</span><span>;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;j&nbsp;=&nbsp;i&nbsp;+&nbsp;</span><span class="number">1</span><span>;&nbsp;j&nbsp;&lt;&nbsp;data.length;&nbsp;j++)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(data[i]&nbsp;&lt;&nbsp;data[j])&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;=&nbsp;data[i]; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[i]&nbsp;=&nbsp;data[j]; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[j]&nbsp;=&nbsp;temp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;data; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;选择法:该方法只是通过遍历集合记录最小（大）元素的位置，一次遍历完后&nbsp;，再进行交换位置操作，类似冒泡，但在比较过程中，不进行交换操作， </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;只记录元素位置。一次遍历只进行一次交换操作。这个对与交换次序比较费时的元素比较&nbsp;适合。这种排序法比冒泡法要城府要深的多,我先记住极端数据,待遍历数据完了之后, </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;我再处理,不像冒泡法那样只要比自己极端一点的就要处理,选择法只处理本身范围内的&nbsp;最极端数据. </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">int</span><span>[]&nbsp;xuanze(</span><span class="keyword">int</span><span>[]&nbsp;data)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">int</span><span>&nbsp;temp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;i&nbsp;&lt;&nbsp;data.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">int</span><span>&nbsp;lowIndex&nbsp;=&nbsp;i; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;j&nbsp;=&nbsp;data.length&nbsp;-&nbsp;</span><span class="number">1</span><span>;&nbsp;j&nbsp;&gt;&nbsp;i;&nbsp;j--)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(data[j]&nbsp;&gt;&nbsp;data[lowIndex])&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lowIndex&nbsp;=&nbsp;j; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;=&nbsp;data[i]; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[i]&nbsp;=&nbsp;data[lowIndex]; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[lowIndex]&nbsp;=&nbsp;temp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;data; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Shell排序:它是对插入排序的一种改进，是考虑将集合元素按照一定的基数划分成组去排序，&nbsp;让每一组在局部范围内先排成基本有序，最后在进行一次所有元素的插入排序。 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">int</span><span>[]&nbsp;sort2(</span><span class="keyword">int</span><span>[]&nbsp;data)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;data.length&nbsp;/&nbsp;</span><span class="number">2</span><span>;&nbsp;i&nbsp;&gt;&nbsp;</span><span class="number">2</span><span>;&nbsp;i&nbsp;/=&nbsp;</span><span class="number">2</span><span>)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;j&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;j&nbsp;&lt;&nbsp;i;&nbsp;j++)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;insertSort(data,&nbsp;j,&nbsp;i); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;insertSort(data,&nbsp;</span><span class="number">0</span><span>,&nbsp;</span><span class="number">1</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;data; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;insertSort(</span><span class="keyword">int</span><span>[]&nbsp;data,&nbsp;</span><span class="keyword">int</span><span>&nbsp;start,&nbsp;</span><span class="keyword">int</span><span>&nbsp;inc)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">int</span><span>&nbsp;temp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;start&nbsp;+&nbsp;inc;&nbsp;i&nbsp;&lt;&nbsp;data.length;&nbsp;i&nbsp;+=&nbsp;inc)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;j&nbsp;=&nbsp;i;&nbsp;(j&nbsp;&gt;=&nbsp;inc)&nbsp;&amp;&amp;&nbsp;(data[j]&nbsp;&gt;&nbsp;data[j&nbsp;-&nbsp;inc]);&nbsp;j&nbsp;-=&nbsp;inc)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;=&nbsp;data[j]; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[j]&nbsp;=&nbsp;data[j&nbsp;-&nbsp;inc]; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[j&nbsp;-&nbsp;inc]&nbsp;=&nbsp;temp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;main(String&nbsp;args[])&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sort&nbsp;s&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Sort(); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">int</span><span>&nbsp;str[]&nbsp;=&nbsp;{</span><span class="number">1</span><span>,&nbsp;</span><span class="number">5</span><span>,&nbsp;</span><span class="number">9</span><span>,&nbsp;</span><span class="number">2</span><span>,&nbsp;</span><span class="number">56</span><span>,&nbsp;</span><span class="number">89</span><span>,&nbsp;</span><span class="number">98</span><span>,&nbsp;</span><span class="number">74</span><span>,&nbsp;</span><span class="number">52</span><span>,&nbsp;</span><span class="number">65</span><span>,&nbsp;</span><span class="number">30</span><span>,&nbsp;</span><span class="number">25</span><span>,&nbsp;</span><span class="number">78</span><span>,&nbsp;</span><span class="number">10</span><span>,&nbsp;</span><span class="number">12</span><span>,&nbsp;</span><span class="number">31</span><span>,&nbsp;</span><span class="number">25</span><span>,&nbsp;</span><span class="number">46</span><span>}; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;冒泡法排序所花时间 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Long&nbsp;star&nbsp;=&nbsp;System.currentTimeMillis(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;j&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;j&nbsp;&lt;&nbsp;</span><span class="number">100000</span><span>;&nbsp;j++) &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;s.maopao(str); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Long&nbsp;end&nbsp;=&nbsp;System.currentTimeMillis();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;i&nbsp;&lt;&nbsp;str.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(str[i]&nbsp;+&nbsp;</span><span class="string">&quot;&nbsp;&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span class="string">&quot;冒泡排序所花时间:&nbsp;&quot;</span><span>&nbsp;+&nbsp;(end&nbsp;-&nbsp;star)); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;插入法排序所花时间 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;star&nbsp;=&nbsp;System.currentTimeMillis(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;j&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;j&nbsp;&lt;&nbsp;</span><span class="number">100000</span><span>;&nbsp;j++) &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;s.sort(str); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;=&nbsp;System.currentTimeMillis(); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;i&nbsp;&lt;&nbsp;str.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(str[i]&nbsp;+&nbsp;</span><span class="string">&quot;&nbsp;&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span class="string">&quot;插入法排序所花时间:&nbsp;&quot;</span><span>&nbsp;+&nbsp;(end&nbsp;-&nbsp;star)); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;Shell排序法排序所花时间 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;star&nbsp;=&nbsp;System.currentTimeMillis(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;j&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;j&nbsp;&lt;&nbsp;</span><span class="number">100000</span><span>;&nbsp;j++) &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;s.sort2(str); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;=&nbsp;System.currentTimeMillis(); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;i&nbsp;&lt;&nbsp;str.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(str[i]&nbsp;+&nbsp;</span><span class="string">&quot;&nbsp;&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span class="string">&quot;Shell排序法排序所花时间:&nbsp;&quot;</span><span>&nbsp;+&nbsp;(end&nbsp;-&nbsp;star)); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;选择法排序所花时间 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;star&nbsp;=&nbsp;System.currentTimeMillis(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;j&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;j&nbsp;&lt;&nbsp;</span><span class="number">100000</span><span>;&nbsp;j++) &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;s.xuanze(str); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;=&nbsp;System.currentTimeMillis(); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;</span><span class="number">0</span><span>;&nbsp;i&nbsp;&lt;&nbsp;str.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(str[i]&nbsp;+&nbsp;</span><span class="string">&quot;&nbsp;&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span class="string">&quot;选择法排序所花时间:&nbsp;&quot;</span><span>&nbsp;+&nbsp;(end&nbsp;-&nbsp;star)); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>}&nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<p>比较结果是:</p>
<p><font size="3" face="Arial">98 89 78 74 65 56 52 46 31 30 25 25 12 10 9 5 2 1 冒泡排序所花时间: 125<br />
98 89 78 74 65 56 52 46 31 30 25 25 12 10 9 5 2 1 插入法排序所花时间: 15<br />
98 89 78 74 65 56 52 46 31 30 25 25 12 10 9 5 2 1 Shell排序法排序所花时间: 63<br />
98 89 78 74 65 56 52 46 31 30 25 25 12 10 9 5 2 1 选择法排序所花时间: 94</font></p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/108117#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Thu, 02 Aug 2007 10:44:00 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/108117</link>
        <guid>http://awed.javaeye.com/blog/108117</guid>
      </item>
          <item>
        <title>好好学习；天天向上！</title>
        <author>awed</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://awed.javaeye.com">awed</a>&nbsp;
                    链接：<a href="http://awed.javaeye.com/blog/106906" style="color:red;">http://awed.javaeye.com/blog/106906</a>&nbsp;
          发表时间: 2007年07月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font size="4" color="#ff0000" face="Courier New">进入公司已经快三个月了，以前学习的时候总是注重与运用方法，而没有太多的去关心一些细节，导致在实际的项目开发中经常出现一些莫名其妙的问题，而导致工作进度慢了下来，现在想起来是应该写一点博客，把它作为我的一面镜子，把实际项目中遇到的问题及一些好的方法保存起来，作为以后的参考！</font></p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://awed.javaeye.com/blog/106906#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Mon, 30 Jul 2007 09:33:39 +0800</pubDate>
        <link>http://awed.javaeye.com/blog/106906</link>
        <guid>http://awed.javaeye.com/blog/106906</guid>
      </item>
      </channel>
</rss>