2012年3月21日

摘要: (1) 判断int型变量a是奇数还是偶数 a&1 = 0 偶数 a&1 = 1 奇数(2) 取int型变量a的第k位 (k=0,1,2……sizeof(int)),即a>>k&1(3) 将int型变量a的第k位清0,即a=a&~(1<<k)(4) 将int型变量a的第k位置1, 即a=a|(1<<k)(5) int型变量循环左移k次,即a=a<<k|a>>16-k (设sizeof(int)=16)(6) int型变量a循环右移k次,即a=a>>k|a<<16-k (设sizeo 阅读全文
posted @ 2012-03-21 13:09 Tony_Shen 阅读(189) 评论(0) 推荐(1)
 

2012年3月12日

摘要: 好吧 我不用finalize方法。而且我自己也看得云里雾里的, 反正就是不要去管这个finalize方法,真要管也最好另外写个终结方法然后配合try..finally使用。这篇看的稀里糊涂的,过段时间回来再仔细看看吧。 阅读全文
posted @ 2012-03-12 14:58 Tony_Shen 阅读(129) 评论(0) 推荐(0)
 
摘要: public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITAL_CAPACITY = 16; public Stack() { elements = new Object[DEFAULT_INITAL_CAPACITY]; } public void push(Object e) { ensureCapacity(); elements[size++] = e; } public Object pop() { if (size ==... 阅读全文
posted @ 2012-03-12 11:19 Tony_Shen 阅读(194) 评论(0) 推荐(0)
 

2012年3月9日

摘要: 一般来说,最好能重用对象而不是每次需要就创建一个功能相同的对象。String s = new String("aaaaaa");以上是一个极端的例子,其实“aaaaaa”本身就是个对象没必要在为其封装一遍:String s = "aaaaaa";对于有静态工厂方法和构造器的不可变类,一般优先采用静态工厂。除了重用不可变的对象之外,也可以重用那些已知不会被修改的可变对象。public class Person { private final Date birthDate; public boolean isBabyBoomer() { Calendar g 阅读全文
posted @ 2012-03-09 15:31 Tony_Shen 阅读(131) 评论(0) 推荐(0)
 

2012年3月8日

摘要: 众所周知,有时候一些工具类是不希望被实例化的,因为实例化根本没意义,而如果在缺少构造器的情况下编译器会自动给其添加一个公有的,无参的缺省构造器。对于用户而言,这个构造器和其他的是一样的。将其做成抽象类就更加不可取,因为他的子类仍旧可以实例化,而且会误导用户。这时候其实只要有个私有的构造器就可以解决这个问题。public class AAA{//Suppress default constructor for noninstantiabilityprivate AAA(){throw new AssertionError();}}再写这种构造器的时候最好带点注释,这样不会给别人带来烦恼。 这种可 阅读全文
posted @ 2012-03-08 09:45 Tony_Shen 阅读(144) 评论(0) 推荐(0)
 

2012年3月6日

摘要: 单例指仅仅被实力化一次的类。public class Elvis {public static final Elvis INSTANCE = new Elvis();private Elvis(){}public static Elvis getInstance(){return INSTANCE;}}public enum Elvis {INSTANCE;public void leaveTheBuilding(){}}以上第一段是Java1.5之前的单例,下面那段是1.5之后的枚举类的单例。其实2种都一样的而第二种更简洁,所以枚举是单例的最佳实现方式 阅读全文
posted @ 2012-03-06 09:25 Tony_Shen 阅读(183) 评论(0) 推荐(0)
 

2012年3月2日

摘要: 先看3段代码,看了以后就差不多明白了public class Book { private final String name; //required private final String id; //required private final String value; private final String vendor; private final String vendor2; public Book(String name, String id) { this(name, id, ""); } public Book(String name, String 阅读全文
posted @ 2012-03-02 10:29 Tony_Shen 阅读(315) 评论(0) 推荐(0)
 

2012年3月1日

摘要: public static Boolean valueOf(boolean b){return b ? Boolean.TRUE : Boolean.FALSE;}静态工厂方法与构造器不同的几大优点它有名称。(构造器可以有多个,对于其他人来说选择哪个构造器是一种很麻烦的事情,如果用静态工厂则是一目了然,静态工厂可以定义方法名来区分多个构造器之间的差别)不必每次调用都创建一个新对象。可以返回原返回类型的任何子类型。(这个EnumSet类是最好的例子)实例化带参数的代码更简单Map<String, List<String>> m = new HashMap<Strin 阅读全文
posted @ 2012-03-01 10:29 Tony_Shen 阅读(178) 评论(0) 推荐(0)
 

2012年2月28日

摘要: 应用地址 http://blog.csdn.net/pbsql/article/details/552165declare @db1 varchar(50),@db2 varchar(50),@collation varchar(100)select @db1='test',@db2='test1'--name of the database to compareset @collation='collate Latin1_General_BIN'--collation of the two databases to compare--Autho 阅读全文
posted @ 2012-02-28 13:43 Tony_Shen 阅读(234) 评论(0) 推荐(0)
 

2011年11月8日

摘要: 好东西要保存》》》》》》》》》》》》》》》》》》》》》》》》》随时看到随时注意》》》》》》》》》》》》》》》》》》》》》》》》》1. 避免重复原则(DRY - Don’t repeat yourself) 编程的最基本原则是避免重复。在程序代码中总会有很多结构体,如循环、函数、类等等。一旦你重复某个语句或概念,就会很容易形成一个抽象体。 2. 抽象原则(Abstraction Principle) 与DRY原则相关。要记住,程序代码中每一个重要的功能,只能出现在源代码的一个位置。 3. 简单原则(Keep It Simple and Stupid) 简单是软件设计的目标,简单的代码占... 阅读全文
posted @ 2011-11-08 17:18 Tony_Shen 阅读(193) 评论(0) 推荐(0)