優化JAVA代碼效率的13條建議
1、final修飾符的類不可派生,Java編譯器會內聯所有final方法,提高性能
2、 儘量重用對象,生成對象時間消耗且存在垃圾回收問題,new關鍵詞創建一個對象時,構造函數鏈 中的所有構造函數都會被自動調用
3、 儘量使用局部變量,調用方法時傳遞的參數以及在調用中創建的臨時變量都保存在棧(Stack)中,速度較快
4、 在JAVA + ORACLE 的應用系統開發中,java中內嵌的SQL語句儘量使用大寫的形式,以減輕ORACLE解析器的解析負擔
5、 促進垃圾回收,對不需要使用的對象手動設置爲null
6、lazy loading 策略,需要時創建
7、 拋出異常首先要創建一個新的對象,Throwable接口的構造函數調用名爲fillInStackTrace()的本地 (Native)方法,fillInStackTrace()方法檢查堆棧,收集調用跟蹤信息。只要有異常被拋出,VM就必須調整調用堆棧,因爲在處理過 程中創建了一個新的對象。 異常只能用於錯誤處理,不應該用來控制程序流程
8、StringBuffer
(1)StringBuffer (); //默認分配16個字符的空間
(2)StringBuffer (int size); //分配size個字符的空間
(3)StringBuffer (String str); //分配16個字符+str.length()個字符空間
(4)擴容:2倍+2
9、java.util.Vector
(1)與數組相似,它的元素可以通過整數形式的索引訪問
(2)Vector對象的大小能夠根據元素的增加或者刪除而擴展、縮小
(3)每次擴展存儲能力時,所有現有的元素都要複製到新的存儲空間之中
10、複製大量數據時,使用System.arraycopy()命令
11、 用移位操作替代乘法操作
12、 在JSP頁面中關閉無用會話
<%@ page session=”false”%>
HttpSession.invalidate()方法清除會話
13、JDBC塊提取方式,一次可取出較多的數據