Har*_*ish 4 java performance loops
在循环中声明一个变量是好的还是在Java中最优化地声明.在声明循环内部时是否还涉及任何性能成本?
例如.
List list = new ArrayList();
int value;
//populate list
for(int i = 0 ; i < list.size(); i++) {
value = list.get(i);
System.out.println(“value is ”+ value);
}
Run Code Online (Sandbox Code Playgroud)
List list = new ArrayList();
//populate list
for(int i = 0; i < list.size(); i++) {
int value = list.get(i);
System.out.println(“value is ”+ value);
}
Run Code Online (Sandbox Code Playgroud)
Asa*_*aph 12
在Clean Code中,Robert C. Martin建议Java编码人员尽可能地将变量声明为使用它们的位置.变量的范围不应超过必要的范围.将变量的声明接近其使用位置有助于为读者提供类型和初始化信息.不要过分关注性能,因为JVM非常擅长优化这些东西.而是专注于可读性.
顺便说一句:如果您使用的是Java 5或更高版本,则可以使用以下new-for-Java-5功能显着修改代码示例:
我重构了你的例子以使用上述新功能.
List<Integer> list = new ArrayList<Integer>();
// populate list
for (int value : list) {
System.out.println("value is " + value);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |