java中for循环性能的优化(一)

for 循环性能测试(多层for循环的嵌套顺序)

由于CPU在内外之间的切换会有一定的开销,因此如果可能的话, 应该尽可能较少内外层循环切换的次数.

只需使最外层循环的次数最少,内层循环次数多即可. (若观点有误请大神们多多指教)

public class test2 {
    public static void main(String[] args) {
        int v1 = 100;
        int v2 = 10000;
        int v3 = 1000000;
        long startTime1 = System.currentTimeMillis();
        for (int i = 0; i < v1; i++) {
            for (int j = 0; j <v2; j++) {
                for (int k = 0;k< v3; k++) {
                }
            }
        }
        long endTime1 = System.currentTimeMillis();
        System.out.println("内层循环次数>外层循环次数,执行时间:"+(endTime1-startTime1));
        //内层循环次数>外层循环次数,执行时间:10
        long startTime2 = System.currentTimeMillis();
        for (int i = 0; i < v3; i++) {
            for (int j = 0; j <v2; j++) {
                for (int k = 0; k < v1; k++) {
                }
            }
        }
        long endTime2 = System.currentTimeMillis();
        System.out.println("内层循环次数<外层循环次数,执行时间:"+(endTime2-startTime2));
        //内层循环次数<外层循环次数,执行时间:3382
    }
}
经验分享 程序员 微信小程序 职场和发展