按照SUN公司的說明,使用自動裝箱或靜態工廠方法比使用new一個對象快3到4倍,該規則能夠用在valueOf或其它靜態工廠的調用中(如:Short、Integer, Long、Double, Byte 、Boolean等)。數據庫
若有多個對象須要關閉,則須分別對每一個對象的close()方法進行try-catch,以防止出現一個對象關閉失敗而致使其餘對象都未關閉的狀況出現
函數
若有大批量的數據須要修改,建議使用PreparedStatement的Batch功能(一次性發送多個操做給數據庫)性能
public ArrayList();編碼
默認的構造器,JAVA以10個元素的大小初始化
spapublic ArrayList(int);3d
用指定的容量大小大小初始化日誌
不指明容量大小時,如集合容量不夠,則JAVA會以1.5倍的容量遞增擴充,並且每次擴充,系統會從新拷貝一遍已經加入到ArrayList的數據,從而致使額外的內存開銷。
因爲集合保存了對象的引用,虛擬機的垃圾收集器就不會回收
儘可能避免在循環體內聲明變量,由於每個引用佔4個字節。這樣能夠極大的減小新對象的建立數量,從而很大限度的減少內存開銷。
在非finally塊代碼中catch的異常應該從新拋出通過封裝的異常,在finally中再次catch的異常不該該再次拋出,應該寫日誌。不管是拋出異常仍是記錄日誌,都要傳遞異常對象。日誌應記錄詳細的描述信息,避免調用異常對象的getMessage()方法,直接將該異常對象做爲參數傳遞。
當須要在某些出口捕獲全部可能出現的運行時異常或Error時,能夠catch Exception 或Throwable。
相似的道理,咱們可將「if (a == b && c == d)」改成可讀性更強的「if ((a == b) && (c == d)) 」,可將「x >= 0 ? x : -x;"改成」(x >= 0) ? x : -x;「