1.StringUtils.isEmpty与StringUtils.isBlack的区别:推荐使用StringUtils.isBlack
StringUtils.isEmpty是针对null和"“为true
StringUtils.isBlack是针对null和”“和” “和” "为true
2.在方法接受参数后,尽量进行参数校验,如判空等
3.编写代码前需要先更新svn
4.尽量减少对变量的重复计算
for (int i = 0; i < list.size(); i++) ----》for (int i = 0, int length = list.size(); i < length; i++)
5.循环内不要不断创建对象引用
for (int i = 1; i <= count; i++)
{Object obj = new Object();
}
改为:
Object obj = null;for (int i = 0; i <= count; i++) { obj = new Object(); }
这样的话,内存中只有一份Object对象引用,每次new Object()的时候,Object对象引用指向不同的Object罢了,但是内存中只有一份,这样就大大节省了内存空间了。
6.形参包装
比如我们用JDBC写一个insertStudentInfo方法,有10个学生信息字段要插如Student表中,可以把这10个参数封装在一个实体类中,作为insert方法的形参。
7.字符串变量和字符串常量equals的时候将字符串常量写在前面,防止空指针异常
String str = “123”;
if (str.equals(“123”)) {…}
建议修改为:
String str = “123”;
if (“123”.equals(str))
{
…
}
8.static类型的属性会在类被加载之后被初始化,当一个Java类第一次被真正使用到的时候静态资源被初始化、Java类的加载和初始化过程都是线程安全的。Java类的加载和初始化过程都是线程安全的。
所以,创建一个enum类型是线程安全的。
9.如果想找到代码,可以传入错误的参数,通过程序报错,定位到具体代码。或者通过debug某一行代码,根据debug工具显示的调用关系,得到一些有效的信息。