在不作编译优化的状况下,在循环中,循环条件会被反复计算,若是不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。java
import java.util.Vector; class CEL { void method (Vector vector) { /** for (int i = 0; i < vector.size (); i++) // Violation * ; // ... **/ int size=vector.size(); for(int i=0;i<size;i++){ //... } } }
public Vector v = new Vector(20); public Hashtable hash = new Hashtable(10);
程序中使用到的资源应当被释放,以免资源泄漏。这最好在finally块中去作。无论程序执行的结果如何,finally块老是会执行的,以确保资源的正确关闭。数组
在Java 7 中能够使用try-with-resource语句。安全
public class IRB { void method () { int[] array1 = new int [100]; for (int i = 0; i < array1.length; i++) { array1 [i] = i; } int[] array2 = new int [100]; for (int i = 0; i < array2.length; i++) { array2 [i] = array1 [i]; // Violation } } }
更正:优化
public class IRB { void method () { int[] array1 = new int [100]; for (int i = 0; i < array1.length; i++) { array1 [i] = i; } int[] array2 = new int [100]; System.arraycopy(array1, 0, array2, 0, 100); } }
常量字符串并不须要动态改变长度。ui
我摘呢一下我可以理解的,下面是我摘自的地址spa