自动装箱导致的性能问题

请看例子:

public class LongPerformanceTest {

	public static void main(String[] args) {
		Long sum = 0L;
		long start = System.currentTimeMillis();
		for (long i=0; i<Integer.MAX_VALUE; i++) {
			sum += i;
		}
		long end =System.currentTimeMillis();
		
		System.out.println("The calculation time is: " + (end -start)/1000);
		
		System.out.println(sum);
		
	}

}

 

只要将Long改成long,程序运行时间将从23s减少到5s左右.

 

结论: 变量反复的装箱拆箱会导致性能下降..一般来说除非只能使用装箱类型比如JAVA集合中元素的键,值等等,否则应该直接使用基本类型

你可能感兴趣的:(性能)