(1)如果方法中抛出异常,异常对象这儿用e标识,注意:log是日志打印对象。

禁止 简单地e.printStackTrace();

建议:log.info(e.printStackTrace());或throw e;

一定要记录下来或抛给上级。

(2)项目中坚决反对 system.out.println();因为性能会比较低,建议用log.info()记录打印。

(3) 项目中包括类或方法 若定义了一些变量,但一直未被使用,最好删除无用的变量。

(4)项目中废弃的代码建议删除。

(5)定义BigDecimal对象值。

禁止:BigDecimal bd1 = new BigDecimal(123.45);

建议:BigDecimal bd1=BigDecimal.valueOf(100.56);

(6)多线程启用,建议用start(),禁用run();

(7)字符串比较时,尤其是变量与常量比较时:

禁止:String str="123456";

str.equals("123456");

建议:"123456".equals(str);

因为str有可能为空。

(8)循环时

禁止:

int k = 0;
for(Iterator it = newValue.keySet().iterator(),it.hasNext(),k++){
};

建议:

int k=0;
Iterator it = newValue.keySet().iterator(),
while(it.hasNext()){
k++;
}

(9)集合判断是否为空

禁止:

List list=new ArrayList();
if(list!=null && list.size()>0){
}

建议:

List list=new ArrayList();
if(!list.isEmpty()){
}

(10) 禁止类中全局变量与方法中局部变量重名。

(11) 灵活运用 线程安全与不安全变量。

ArrayList(不安全) or LinkedList(不安全)    Vector(安全)

HashMap(不安全) Hashtable(安全)

StringBuilder(不安全)  StringBuffer(安全)

注意:不安全的效率高,安全的效率低。

(12) 类中的变量名若为public,最好改为private 类型,通过其set,get方法来获取变量名和为其赋值。

(13)类中无用的引用包建以删除。不用说你也懂得。

(14)常量变量名建议用大写表示。

禁用:public static fianl String status="123";

建议:public static final String STATUS="123";

(15)代码中的注释最好加上,为了你,也为了后来的小伙伴,我就不说了。

(16)类名、方法名、变量名建议起名符合'^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'

(17)声明数组

禁止:String str[];

建议:String []str;

(18)书写代码。

禁止:if(){};

建议:if(){

代码

}

(19)定义变量或方法时,关键字顺序:

1. Annotations

2. public

3. protected

4. private

5. abstract

6. static

7. final

8. transient

9. volatile

10. synchronized

11. native

12. strictfp

禁止:private final static STR="123";

建议:   private static final STR="123";

(20)double,float禁止与int类型比较。

禁止:double d=123.45

if(d==0){
}

(21)代码中标识为@Deprecated的方法要删除。

(22)系统代码中有Myeclipse自动生成的@TODO标识最好也删除。

(其它) 首先是去掉重复计算,避免不必要的io,

重构并解耦代码,尽量减少同步锁。因为有锁就有可能等待,等待就等于慢。

把相关性强的东西组合到一个类里面。因为CPU访问内存的时候,会先找L1 L2等缓存,再找内存。而读取内存的时候,不会只读取那一个变量,而会读取那个变量附近的东西。如果你把相关性强的东西放在一个类,意味着缓存命中的概率更高。