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;ka[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中回调函数很好理解。即函数执行完后再回过头来执行给定参数的函数,叫做回调函数.例如在下面的代码中:
学习js回调函数
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();}//Demo2package 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