到金蝶去面试了一下,结果在笔试就差不多挂了,因为自己都感觉做的不怎么样,涉及的东西太多了,其中java基础倒还可以,对于EJB,UML,软件工程方面的,象什么无状态会话bean什么的,瀑布式开发啥的,搞得我头晕,这些基本上没怎么用的,都搞不倒。把几个比较基础点的东西总结一下好了。
其中有一个程序优化题目,
private void testFor(){
for(int i=0;i<1000;i++){
for(int j=0;j<100;j++){
for(int k=0;k<10;k++){
action(i,j,k);
}
}
}
}
假如action只做最简单的事,
private void action(int i,int j,int k){
System.out.println("s");
}
优化前,发现执行循环一共用了41422毫秒。
优化如下:
private void testFor1(){
for(int i=9;i>=0;i--){
for(int j=99;j>=0;j--){
for(int k=999;k>=0;k--){
action(i,j,k);
}
}
}
}
然后再测试,执行循环用了40469毫秒。
当然,当时原题是最外层循环是10000次,测试时间都花太长,循环的次数越多,这个差别就越大了。
这么优化,将循环次数多的写在内部,次数小的写在外部,减少了外层判断的次数,从而提高性能。
分享到:
相关推荐
### 多重For循环优化分析 #### 原始代码分析 原始代码示例如下: ```java for(int i = 0; i ; i++) { for(int j = 0; j ; j++) { for(int k = 0; k ; k++) { log(i * j * k); } } } ``` 此段代码中的嵌套循环...
C++循环冒泡法优化 在看到for循环冒泡排序(c++) 后 再次优化了一下,它的程序不能运行,我运行优化的成功了,对初学者理解有很大帮助(还有注释)
本文以一个实际案例出发,探讨如何优化Python的for循环以提高程序效率。 一、问题背景 在项目初期,由于用户数量较少,使用了两层嵌套的for循环来完成计算任务,耗时1-2小时。然而,随着用户基数的增长,项目运行...
本文主要讨论了如何优化JavaScript和Java中的for循环,以提高编程效率。 首先,我们来回顾一下传统的for循环语法: ```javascript for(var i = 0; i ; i++) { // 对arrays[i]进行处理 } ``` 这段代码适用于遍...
例如,一个简单的for循环优化前后的对比可能是这样的: ```csharp // 未优化的for循环 for (int i = 0; i ; i++) { // 执行某个操作 } // 优化后的并行for循环 Parallel.For(0, 1000000, i => { // 执行相同的...
1. 嵌套循环优化 在Java中,嵌套循环是一种常见的循环结构。但是,如果我们不合理地使用嵌套循环,可能会给程序的性能带来很大的影响。解决方法是遵循“外小内大”的原则,即将小循环放在大循环的内部。这可以显著...
同时,还可以了解如何调试和优化For循环,以提高程序效率。 总的来说,对于工业自动化的新手来说,熟练掌握Codesys V3 3510中的For循环是提升编程能力的关键一步。通过深入学习和实践这些案例,不仅可以提高编程...
"Java for循环Map集合优化实现解析" Java for循环Map集合优化实现解析是Java编程语言中的一种高效的集合优化技术。该技术通过使用Map集合来优化for循环的性能,减少循环次数,从而提高程序的执行效率。 Java for...
然而,传统的for循环在处理复杂逻辑或大数据集合时可能会影响脚本的执行效率,优化循环的效率对于提高代码性能至关重要。 首先,传统的for循环的效率问题主要体现在两个方面:一是循环体内部代码的执行时间;二是...
18 for循环优化-嵌套的for循环优化 54 18.1 循环嵌套类型 54 18.2 Perfect loop nest示例 55 18.3 Imperfect loop nest示例 56 19 for循环优化-其他优化方法 59 19.1 for循环的并行性 59 19.2 for循环pipeline时的...
在C语言中,for循环语句是编程中最常用的循环结构之一,它提供了简洁且灵活的方式来重复执行一段代码。本文将详细介绍C语言中for循环的基本使用方法,并通过一个温度转换程序的例子来阐述其工作原理。 首先,for...
JavaScript循环优化 为什么需要代码优化? 代码优化是用于提高代码质量和效率的一组代码修改方法。 可以对程序进行优化,使其尺寸更小,消耗更少的内存,更快地执行或执行更少的输入/输出操作(来自Google)。 因此...
课设中还提供了"编译课设for循环简单优先三地址.doc"文档,这很可能是详细的项目说明或者报告,包含了算法描述、设计思路、实现细节和可能的优化措施。而"input.txt"则可能包含了一些示例的for循环源代码,用于测试...
下面将详细介绍标题及描述中提到的几个循环优化技巧: 1. **数字比较尽量和0比较** 在Java中,当进行数值比较时,如果可能的话,应尽可能地将其中一个值设置为0来进行比较。这是因为大多数处理器在处理与0的比较...
在编程语言的编译原理中,FOR循环语句的翻译是构建编译器的一个关键环节。FOR循环是一种常见的控制流程结构,广泛应用于各种编程语言,用于执行一系列重复操作。本主题将深入探讨如何使用LL(1)分析法来设计翻译程序...
在MATLAB开发中,循环优化是一项关键技能,它旨在提高代码执行效率,减少计算时间,尤其是在处理大数据集或复杂计算时。本主题将深入探讨如何通过优化循环来提升MATLAB程序的性能。以下是对给定文件中可能涉及的几个...
`for`循环的优化与注意事项 - 在循环体内避免进行复杂的计算,以免影响性能。 - 如果需要在循环外部使用循环变量,记得在循环外声明。 - 避免在循环体中修改循环变量,可能导致意料之外的结果。 - 使用`break`或`...
在探讨“特殊的for循环加法运算”这一主题时,我们首先需要理解其核心概念与应用场景。根据提供的代码片段,我们可以观察到一个典型的Java程序结构,其中包含了一个利用for循环进行特殊加法运算的过程。这段代码旨在...
例如,将for循环中的do_stuff(i)连续调用多次,可以减少比较指令的次数,提升执行速度。但是,如果循环内有中间变量修改,编译器可能不会自动展开,此时需要手动进行。此外,循环展开可能导致代码体积增大,对于有...
本文通过一个具体的案例,探讨了如何对嵌套for循环进行性能优化。 案例中的原始代码如下: ```java for (int i = 0; i ; i++) for (int j = 0; j ; j++) for (int k = 0; k ; k++) testFunction(i, j, k); ``` ...