计算优先使用基本类型而不是包装类型
java虽然拥有自动装箱和自动拆箱功能,但是在性能有着微妙的差别,下面通过一个例子给大家演示一下,计算 从0到最大值数据,分别使用基本类型和包装类型演示。
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
basicTypeAndPackagingType.sum();
long endTime = System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间:" + (endTime - startTime) + " ms"); //输出程序运行时间
}
public static long sum(){
Long sum=0L;
for (long i = 0; i < Integer.MAX_VALUE; i++) {
sum += i;
}
return sum;
}
整个包装类型运行时间为 6326ms
我们再看下基本类型
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
basicTypeAndPackagingType.sum1();
long endTime = System.currentTimeMillis(); //获取结束时间
System.out.println("程序运行时间:" + (endTime - startTime) + " ms"); //输出程序运行时间
}
public static long sum1(){
long sum=0L;
for (long i = 0; i < Integer.MAX_VALUE; i++) {
sum += i;
}
return sum;
}
这里只用了588ms 可以说在数据量大的时候性能差距是非常明显的。