论坛首页 Java企业应用论坛

面试题讨论(一)

浏览 16647 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (3)
作者 正文
   发表时间:2010-09-13  
stack
0 请登录后投票
   发表时间:2010-09-14  
aoliwen521 写道
把循环少的放在外层,我认为还应该是减少了局部变量初始化的次数。
优化前i初始化1次,j10000次,k1000×10000次
优化后k1次,j100次,i100×1000次。

我感兴趣的是,这样做能提高多少效率?
0 请登录后投票
   发表时间:2010-09-14  
这个题目让人蛋疼
0 请登录后投票
   发表时间:2010-09-14  

long l=10000*1000*100;

for(int i=0;i<l;i++){
funtion(i,i%1000,i%100);
}
不知道是否有达到优化效果
0 请登录后投票
   发表时间:2010-09-14  
系统程序设计-A programmer's perspect里面有讲,循环次数最小的放最外层,在内存以及IO方面有优化。
0 请登录后投票
   发表时间:2010-09-14  
引用
2、i、j、k放在循环外实例化,减少实例化的次数


i.j.k 是基本类型的,有实例化这个概念?蛋疼
0 请登录后投票
   发表时间:2010-09-14  
变量:初始化、作用域、生存期。
变量的每次初始化需要内存为其分配存储空间。
即优化前:i 1 j10000  k1000*10000
    优化后:k 1 j 100 i 1000*100
内存所要执行次数不言而喻,变量生存期结束后可能还有jvm的gc
0 请登录后投票
   发表时间:2010-09-14   最后修改:2010-09-14
局部性?谁来说说
0 请登录后投票
   发表时间:2010-09-14  

可以看看两种写法编译后的字节码

楼主面试用友,结果如何?
0 请登录后投票
   发表时间:2010-09-14  
kingjiang09 写道

long l=10000*1000*100;

for(int i=0;i<l;i++){
funtion(i,i%1000,i%100);
}
不知道是否有达到优化效果


%运算 效率不高的
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics