for循环优化方式
2013-01-05 11:14
92 查看
我们大家都知道Android 2.2的JIT性能有了本质的提高,不过对于老版本的程序提高Java执行效率还有很多语言特点来说,对于Java 1.5之后将会有明显的改进。下面的例子来自SDK:
static class Foo {
int mSplat;
}
Foo[] mArray = ...
//上面的静态类Foo的执行效果和性能,我们分三个方法zero、one和two来做对比。
public void zero() { //大多数人可能简单直接这样写
int sum = 0;
for (int i = 0; i < mArray.length; ++i) {
sum += mArray[i].mSplat;
}
}
public void one() { //通过本地对象改进性能
int sum = 0;
Foo[] localArray = mArray;
int len = localArray.length;
for (int i = 0; i < len; ++i) {
sum += localArray[i].mSplat;
}
}
public void two() { //推荐的方法,通过Java 1.5的新语法特性可以大幅改进性能
int sum = 0;
for (Foo a : mArray) {
sum += a.mSplat;
}
}
其中,zero()最慢、one() 较快、two() 最快!
static class Foo {
int mSplat;
}
Foo[] mArray = ...
//上面的静态类Foo的执行效果和性能,我们分三个方法zero、one和two来做对比。
public void zero() { //大多数人可能简单直接这样写
int sum = 0;
for (int i = 0; i < mArray.length; ++i) {
sum += mArray[i].mSplat;
}
}
public void one() { //通过本地对象改进性能
int sum = 0;
Foo[] localArray = mArray;
int len = localArray.length;
for (int i = 0; i < len; ++i) {
sum += localArray[i].mSplat;
}
}
public void two() { //推荐的方法,通过Java 1.5的新语法特性可以大幅改进性能
int sum = 0;
for (Foo a : mArray) {
sum += a.mSplat;
}
}
其中,zero()最慢、one() 较快、two() 最快!
相关文章推荐
- Java之for循环优化方式-
- for循环的三种方式
- java性能优化之for循环
- 对FOR循环优化心得
- 【Java】嵌套For循环性能优化案例
- 菜鸟要做架构师(二)——java性能优化之for循环
- 集合框架中取出元素的方式for循环增强型与一般形式for循环的对比
- 通过for循环方式实现删除文件夹
- For 循环的优化
- 关于For循环中进行异步操作索引不正确的处理方式
- 从 for 循环入手优化性能
- for循环的两种方式
- 对FOR循环优化心得
- JavaScript模式 For和For-in循环优化
- MATLAB中对矩阵元素操作的for循环优化方法
- 2重List的for循环简单优化问题
- 对纯for循环进行并行流和线程池优化简记
- js优化之细节(for 循环)
- 嵌套 for循环优化
- for 循环得另外一种方式