在不作編譯優化的狀況下,在循環中,循環條件會被反覆計算,若是不使用複雜表達式,而使循環條件值不變的話,程序將會運行的更快。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