http://blog.csdn.net/guolin_blog/article/details/42318689 学习郭霖大神博客
一、避免创建不必要对象
1、拼接字符串使用StringBuilder或者Stringbuffer要比+连接符性能高,因为加号连接符会创建多与对象,拼接的字符串越长,加号连接符的性能越低。
2、尽量使用基本数据类型代替封装数据类型,int比Integer更加高效。
二、静态优于抽象
如果不需要访问一个对象中的某些字段,只是想调用某个方法去完成一项通用的功能,那么可以将这个方法设置成静态方法,调用速度提升15%-20%,同时避免创建不必要的对象,而且可以放心的调用静态方法。
三、对常量使用static final修饰符
声明为静态常量内存在类生成的的时候分配,调用的时候节省内存资源开销。
四、避免内部调用Getters/Setters方法
直接访问某个字段可能要比通过getters方法来去访问这个字段快3到7倍
例如:
- public class Calculate {
- private int one = 1;
- private int two = 2;
- public int getOne() {
- return one;
- }
- public int getTwo() {
- return two;
- }
- public int getSum() {
- return getOne() + getTwo();
- }
- }
- 远远没有下面这段代码代码高效,好像我也这样干过,当时应该没意识到这个效率问题。
- public class Calculate {
- private int one = 1;
- private int two = 2;
- ......
- public int getSum() {
- return one + two;
- }
- }