java冒泡排序

package com.wwp.test;
//冒泡排序法
public class MaoPao {

	/**
	 *@author wuwp
	 * @param args
	 */
	public static void main(String[] args) {
		// 从小到大排列
		int a[]={5,1,7,9,4,2,-1};
		sort(a);
		
		for(int k=0;k<a.length;k++){
			System.out.println(a[k]);
		}
		}

	public  static void  sort(int[] a){
		for(int j=0;j<a.length-1;j++){
			for(int i=j;i<a.length-1;i++){
				if(a[j]> a[i+1]){
					int tep=a[j];
					a[j]=a[i+1];
					a[i+1]=tep;
					
				}
				
			}
		}
		//return a;
	}
}



包装类范围的相等问题


以Short类和Intger类为例,其在-128到127范围内定义的两个变量是相等的,而超出此范围围后不相等(==)。研究源码发现,在-128到127之间进行了缓存,代码如下:

 /***z
 *这里定义了一个-128到127的Short数组,用于缓存。
 */
 private static class ShortCache {
        private ShortCache(){}

        static final Short cache[] = new Short[-(-128) + 127 + 1];

        static {
            for(int i = 0; i < cache.length; i++)
                cache[i] = new Short((short)(i - 128));
        }
    }
    
    
    /*******
    *Short s1=100;Short s2=100;Short s3=200; Short s4=200
    *当我们定义了Short s1=100后。实际进行了自动装箱,即下面这个函数,可以看到如果不在此范围内。其
    *返回的是一个新的对象。而在此范围内返回的是缓存数组里的元素,当我们比较时s1==s2时,
    *其指向的是同一对象(true),而s3==s4则是实例化了两个新的对象,使用双等号时就不是同一对象了(false)
    *但如果用equals方法是相等的,因为它比较的是两个对象的内容。Intger类也是如此。
    *******/
    public static Short valueOf(short s) {
        final int offset = 128;
        int sAsInt = s;
        if (sAsInt >= -128 && sAsInt <= 127) { // must cache
            return ShortCache.cache[sAsInt + offset];
        }
        return new Short(s);
    }


在学习javascript中回调函数很好理解。即函数执行完后再回过头来执行给定参数的函数,叫做回调函数.例如在下面的代码中:

<html>
<head>
<script>
function a(callback){
    alert("我是parent函数a!");
    alert("开始执行");
    aert("执行完毕");
    alert("调用回调函数");
    callback();
}
function b(){
alert("我是回调函数b");
 }
function c(){
alert("我是回调函数c");
 }
 function test(){
     a(b);//a执行完后回调b
     a(c);//a执行完后回调c
 }
</script>
<body>
<h1>学习js回调函数</h1>
<button onClick="test()">点击</button>
<p>应该能看到调用了两个回调函数</p>
</body>
</html>

java回调(转载)

class test  
{
 
 public static void testTime(Callback call){
     
     long beg=System.currentTimeMillis();//开始测试时间
     call.excute();
     long end =System.currentTimeMillis();
     System.out.println("UseTime"+(end-beg));
 }
 public static void main(String []args){
     testTime(new Callback(){public void excute(){TestObject.TestMethod();}});
     
 }
 
    
}


interface Callback{
    
    public void excute();
}
//Demo2
package com.wwp;

public class CallBackStudy {

	/**
	 * @author wuwp
	 * 关于java函数回调,联想生活中的例子,你回家肚子饿了,问你妈妈煮好饭没,
	 *她说没有,于是你跟你妈说,我先出去玩。等饭煮好了再叫你。
	 * 于是你出去玩了。等到饭煮好的时候,你妈妈就叫你吃饭。这一过程中,
	 *你与你妈妈约定了一个饭煮好后叫你的接口,当饭煮好时,
	 *她又通过该接口回馈你饭煮好
	 * 了。
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Mama mama=new Mama();
		chifan(mama);
	}
	public static void chifan(CallMe callme){
		System.out.println("妈妈饭没好");
		System.out.println("那我出去玩");
		//跟妈妈达成饭煮好叫我的接口协议
		callme.zhufan();
		System.out.println("回家吃饭");
		
	}

}

interface CallMe{
	public void zhufan();
	
}
class Mama implements CallMe{

	public void zhufan() {
		// TODO Auto-generated method stub
		System.out.println("开始煮饭");
		int i=0;
		while(i<10){
			System.out.println("煮饭第"+i+"分钟");
			i++;
		}
		System.out.println("饭煮好了");
		System.out.println("叫儿子吃饭");
	}
	
	
}


一篇关于配置Hibernate的示例文章

http://blog.sina.com.cn/s/blog_7ca3aa020100yot8.html

CSS样式的文章

CSS十三种样式