关于java100个优化代码的信息( 八 )


[java] view plaincopyprint?
for (int i = 0; i10; i++)
for (int j = 0; j100; j++)
for (int k = 0; k1000; k++)
testFunction (k, j, i);
该方案主要是将循环次数少的放在外面,循环次数多的放在里层,这样可以最大程度地减少相关循环变量的实例化次数、初始化次数等,方案耗时情况如下:
变量
实例化(次数)
初始化(次数)
比较(次数)
自增(次数)
i
1
1
10
10
j
10
10
10*100
10*100
k
10*100
10*100
10*100*1000
10*100*1000
优化方案②:
[java] view plaincopyprint?
int i, j, k;
for (i = 0; i10; i++)
for (j = 0; j100; j++)
for (k = 0; k1000; k++)
testFunction (k, j, i);
该方案主要是在方案①的基础上,将循环变量的实例化放在循环外,这样可以进一步减少实例化次数,耗时情况如下表:
变量
实例化(次数)
初始化(次数)
比较(次数)
自增(次数)
i
1
1
10
10
j
1
10
10*100
10*100
k
1
10*100
10*100*1000
10*100*1000
注:方案②的优势体现在若将i、j、k的数值提高更多的,其提升的效果才更明显 。
4、测试代码
[java] view plaincopyprint?
public class Test {
public static void main(String[] args){
//testA();
//testB();
testC();
}
public static void testA(){
long start = System.nanoTime();
for(int i = 0; i10; i++)
for(int j = 0; j1000; j++)
for(int k = 0; k10000; k++)
;
System.out.println("testA time"+(System.nanoTime()-start)+"ns");
}
public static void testB(){
long start = System.nanoTime();
for(int i = 0; i10000; i++)
for(int j = 0; j1000; j++)
for(int k = 0; k10; k++)
;
System.out.println("testB time"+(System.nanoTime()-start)+"ns");
}
public static void testC(){
long start = System.nanoTime();
int i, j, k;
for(i = 0; i10; i++)
for(j = 0; j1000; j++)
for(k = 0; k10000; k++)
;
System.out.println("testC time"+(System.nanoTime()-start)+"ns");
}
}
Java代码的优化方法有哪些说到代码优化java100个优化代码,每个人或多或少都掌握一到两种方法,但是这样的方法对提升代码运行效率效果不大,最重要是对代码的重视和java100个优化代码了解,这样才能提升代码的运行效率 。在进行代码优化的过程中,方法是非常重要的 , 多掌握几种方法,根据代码的不同情况选择适合的方法进行优化 。下面电脑培训为大家介绍Java代码优化的几种方法 。
1、使用指定类、方法的final修饰符
具有final修饰符的类不可派生 。在Java核心API中,有许多最终应用程序的例子,例如java.lang.String,整个类都是final 。为类指定final修饰符允许继承类 , 并且为方法指定final修饰符允许覆盖该方法 。如果将类指定为final,IT培训认为该类的所有方法都是final 。Java编译器将寻找内联所有最终方法的机会 。内联对于提高Java操作的效率非常重要 。这可以将性能平均提高50% 。
2、重用对象
String对象的使用是非常重要的,StringBuilder/StringBuffer并不是字符串连接 。由于Java虚拟机需要时间来生成对象,所以将来垃圾收集和处理这些对象可能需要一些时间 。因此,生成太多对象将对程序的性能产生很大影响 。
3、使用局部变量
调用方法时传递的参数以及在调用中创建的临时变量都保存在堆栈中,速度更快 。其java100个优化代码他变量(如静态变量和实例变量)在堆中创建并且速度较慢 。此外 , 昆明北大青鸟发现在堆栈中创建的变量,当方法完成运行时 , 内容消失,不需要进行额外的垃圾收集 。

推荐阅读