1、尽量指定类、方法的final修饰符
2 、字符串连接时应该使用 StringBuilder/StringBuffer代替
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
3、 尽量使用局部变量
4、及时关闭流
5、尽量减少对变量的重复计算
for (int i = 0, int length = list.size(); i < length; i++)
6、尽量采用 懒加载的策略,即在需要的时候才创建
if (i == 1) {
String str = "aaa";
list.add(str);
}
7、慎用异常
8、 不要在循环中使用try…catch…,应该把其放在最外层
9、如果能估计到待添加的内容长度,为底层以数组方式实现的集合、工具类指定初始长度
12、循环内不要不断创建对象引用
Object obj = null;for (int i = 0; i <= count; i++) { obj = new Object(); }
17、尽量避免随意使用静态变量
20、使用同步代码块替代同步方法
21、将常量声明为static final,并以大写命名
22、不要创建一些不使用的对象,不要导入一些不使用的类
23、程序运行过程中避免使用反射
24、 使用数据库连接池和线程池
25、使用带缓冲的输入输出流进行IO操作
26、顺序插入和随机访问比较多的场景使用ArrayList,元素删除和中间插入比较多的场景使用LinkedList
27、不要让public方法中有太多的形参,面向对象的编程思想。
28、字符串变量和字符串常量equals的时候将字符串常量写在前面
30、 不要对数组使用toString()方法
2 、字符串连接时应该使用 StringBuilder/StringBuffer代替
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
3、 尽量使用局部变量
4、及时关闭流
5、尽量减少对变量的重复计算
for (int i = 0, int length = list.size(); i < length; i++)
6、尽量采用 懒加载的策略,即在需要的时候才创建
if (i == 1) {
String str = "aaa";
list.add(str);
}
7、慎用异常
8、 不要在循环中使用try…catch…,应该把其放在最外层
9、如果能估计到待添加的内容长度,为底层以数组方式实现的集合、工具类指定初始长度
12、循环内不要不断创建对象引用
Object obj = null;for (int i = 0; i <= count; i++) { obj = new Object(); }
17、尽量避免随意使用静态变量
20、使用同步代码块替代同步方法
21、将常量声明为static final,并以大写命名
22、不要创建一些不使用的对象,不要导入一些不使用的类
23、程序运行过程中避免使用反射
24、 使用数据库连接池和线程池
25、使用带缓冲的输入输出流进行IO操作
26、顺序插入和随机访问比较多的场景使用ArrayList,元素删除和中间插入比较多的场景使用LinkedList
27、不要让public方法中有太多的形参,面向对象的编程思想。
28、字符串变量和字符串常量equals的时候将字符串常量写在前面
30、 不要对数组使用toString()方法
33、把一个基本数据类型转为字符串,基本数据类型.toString()是最快的方式、String.valueOf(数据)次之、数据+”"最慢
转载:http://geek.csdn.net/news/detail/111828?ref=myread