程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java開發代碼性能優化總結,java代碼性能優化

Java開發代碼性能優化總結,java代碼性能優化

編輯:JAVA綜合教程

Java開發代碼性能優化總結,java代碼性能優化


代碼優化,可能說起來一些人覺得沒用.可是我覺得應該平時開發過程中,就盡量要求自己,養成良好習慣,一個個小的優化點,積攢起來絕對是有大幅度效率提升的。好了,將平時看到用到總結的分享給大家。

代碼優化的目標:

代碼細節優化


   明確一個概念,對方法的調用,即使方法中只有一句語句,也是有消耗的,包括創建棧幀、調用方法時保護現場、調用方法完畢時恢復現場等。所以例如下面的操作:

for (int i = 0; i < list.size(); i++)

{...}
建議替換為:
for (int i = 0, int length = list.size(); i < length; i++)

{...}
這樣,在list.size()很大的時候,就減少了很多的消耗

  6、盡量采用懶加載的策略,即在需要的時候才創建

  例如:

String str = "aaa";if (i == 1)

{

list.add(str);

}
建議替換為:
if (i == 1)

{

String str = "aaa";

list.add(str);

}

  7、慎用異常

  異常對性能不利。拋出異常首先要創建一個新的對象,Throwable接口的構造函數調用名為fillInStackTrace()的本地同步方法,fillInStackTrace()方法檢查堆棧,收集調用跟蹤信息。只要有異常被拋出,Java虛擬機就必須調整調用堆棧,因為在處理過程中創建了一個新的對象。異常只能用於錯誤處理,不應該用來控制程序流程。

    8、不要在循環中使用try…catch…,應該把其放在最外 

  除非不得已。如果毫無理由地這麼寫了,只要你的領導資深一點、有強迫症一點,八成就要罵你為什麼寫出這種垃圾代碼來了

  9、如果能估計到待添加的內容長度,為底層以數組方式實現的集合、工具類指定初始長度

  比如ArrayList、LinkedLlist、StringBuilder、StringBuffer、HashMap、HashSet等等,以StringBuilder為例:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved