锁定老帖子 主题:面试题讨论(一)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (3)
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-13
stack
|
|
返回顶楼 | |
发表时间:2010-09-14
aoliwen521 写道 把循环少的放在外层,我认为还应该是减少了局部变量初始化的次数。
优化前i初始化1次,j10000次,k1000×10000次 优化后k1次,j100次,i100×1000次。 我感兴趣的是,这样做能提高多少效率? |
|
返回顶楼 | |
发表时间:2010-09-14
这个题目让人蛋疼
|
|
返回顶楼 | |
发表时间:2010-09-14
long l=10000*1000*100; for(int i=0;i<l;i++){ funtion(i,i%1000,i%100); } 不知道是否有达到优化效果 |
|
返回顶楼 | |
发表时间:2010-09-14
系统程序设计-A programmer's perspect里面有讲,循环次数最小的放最外层,在内存以及IO方面有优化。
|
|
返回顶楼 | |
发表时间:2010-09-14
引用 2、i、j、k放在循环外实例化,减少实例化的次数 i.j.k 是基本类型的,有实例化这个概念?蛋疼 |
|
返回顶楼 | |
发表时间:2010-09-14
变量:初始化、作用域、生存期。
变量的每次初始化需要内存为其分配存储空间。 即优化前:i 1 j10000 k1000*10000 优化后:k 1 j 100 i 1000*100 内存所要执行次数不言而喻,变量生存期结束后可能还有jvm的gc |
|
返回顶楼 | |
发表时间:2010-09-14
最后修改:2010-09-14
局部性?谁来说说
|
|
返回顶楼 | |
发表时间:2010-09-14
可以看看两种写法编译后的字节码 楼主面试用友,结果如何? |
|
返回顶楼 | |
发表时间:2010-09-14
kingjiang09 写道 long l=10000*1000*100; for(int i=0;i<l;i++){ funtion(i,i%1000,i%100); } 不知道是否有达到优化效果 %运算 效率不高的 |
|
返回顶楼 | |