首頁>Club>
6
回覆列表
  • 1 # 下一個拉扎爾

    想要提高java程式效能,可以從下面幾個方面考慮:

    1、java程式碼儘量最最佳化

    這點可能說得容易,做起來難。因為需要大量的編碼經驗和大量的編碼時間總結才能達到,一個比較快的方式就是從別人的經驗中汲取可用的知識,站在巨人的肩膀上。

    例如:

    影響Java程式碼效能的一些細節:Integer和 int的區別、StringBuilder和Stringbuffer的區別、ArrayList和LinkedList的區別等等太多了。

    程式碼最佳化的總結:避免在迴圈條件中使用複雜表示式、為"Vectors" 和 "Hashtables"定義初始大小、在finally塊中關閉Stream、使用"System.arraycopy ()"代替透過來迴圈複製陣列、讓訪問例項內變數的getter/setter方法變成”final”、避免不需要的instanceof操作、避免不需要的造型操作、如果只是查詢單個字元的話,用charAt()代替startsWith()、使用移位操作來代替"a / b"操作、在字串相加的時候,使用 " " 代替 " ",如果該字串只有一個字元的話、不要在迴圈中呼叫synchronized(同步)方法、將try/catch塊移出迴圈、對於boolean值,避免不必要的等式判斷、對於常量字串,用"String" 代替 "StringBuffer"、用"StringTokenizer" 代替 "indexOf()" 和"substring()"、使用條件運算子替代"if (cond) return; else return;" 結構、使用條件運算子代替"if (cond) a = b; else a = c;" 結構、不要在迴圈體中例項化變數、確定 StringBuffer的容量、儘可能的使用棧變數、不要總是使用取反運算子(!)、與一個介面 進行instanceof操作、使用資料庫連線池和執行緒池、使用同步程式碼塊替代同步方法、不要讓public方法中有太多的形參、不要將陣列宣告為public static final、及時關閉流、及時清除不再需要的會話、公用的集合類中不使用的資料一定要及時remove掉等等還有很多。

    2、進行大量的效能測試

    在編碼中,對於自己已知的效能問題,往往都可以避免。然而一個人很難記住所有的可能存在的問題,即潛在的bug,這個時候就需要做大量的準確的效能測試,不斷的進行調優複測。

    java程式往往在單獨執行的時候沒有問題,到了線上大批次使用者訪問的時候就會出現許多效能瓶頸,影響使用者體驗。所以在上線前進行效能測試尤為重要,而開發人員想要自己程式碼儘量少的測出效能問題,就需要在程式碼提交前,自行進行效能測試。對自己程式碼中,涉及到併發的地方,進行壓測,模擬大量使用者訪問的情況,提前解決效能瓶頸。

    3、進行適當的異常測試

    除了要進行效能測試外,異常測試也非常重要。對於java程式而言,可能會發生許多意想不到的異常,然而當異常發生時再去處理已為時過晚,所以我們需要再程式碼上線前,儘量做到充分的異常測試,對於各種可能發生的異常進行模擬,提前準備對策,不打沒有準備的仗。這樣才能更好的保證程式碼的效能和質量。

  • 中秋節和大豐收的關聯?
  • “對方愛我就可以,我愛不愛對方不重要”,這種愛情觀是錯的嗎?