java 效率编程 的一些小知识点

1.在程序中若出现字符串连接的情况。请使用StringBuffer取代String,这样能够降低多次创建String以及垃圾回收所带来的内存消耗

2.尽量使用局部变量。

调用方法时传递的參数以及调用中创建的暂时变量都保存在栈中,由于JVM是基于堆栈的虚拟机。所以优化了对堆栈的处理。并且,Static变量和类的实例变量都是在堆上创建的。因此使用局部变量的运行效率比使用Static变量和类的实例变量的运行效率要高

3.for(int i = 0 ; i<list.size() ; i++){

}

尽量使用以下的方式取代上面的方式

int count = list.size();

for(int i = 0 ; i<count ; i++){

}

原谅我可耻的mark行为吧:原文地址http://blog.csdn.net/zhaokaiqiang1992/article/details/26157109

这样能够降低非常多运算,比如我们以下的程序

package Test;
import java.util.ArrayList;
import java.util.List;
public class TestForFast {
	public static void main(String[] args) {
		List<String> list = new ArrayList<String>();
		//创建包括大数据的集合
		for (long i = 0; i < 1000000; i++) {
			list.add("xixixi"+i);
		}
		long starttime1 = System.currentTimeMillis();
		for(int i=0;i<list.size();i++) {
			//运行一些操作
		}
		long endtime1 = System.currentTimeMillis();
		System.out.println("第一种浪费的时间是:"+(endtime1-starttime1));
		
		long starttime2 = System.currentTimeMillis();
		int count = list.size();
		for(long i=0;i<count;i++) {
			//运行一些操作
		}
		long endtime2 = System.currentTimeMillis();
		System.out.println("另外一种浪费的时间是:"+(endtime2-starttime2));
	}
}




原文地址:https://www.cnblogs.com/gavanwanggw/p/7130393.html