Java性能優(yōu)化的一些總結(一):基礎類型

標簽: java 編程 優(yōu)化


1.避免對boolean判斷##

嘗試去掉boolean與true的比較判斷的代碼

例:

if(str.endswith("a")==true){
}

if(str.endswith("a")){
}

2.用靜態(tài)方法替代實例方法##

如果沒有必要訪問對象的外部,那么就讓你的方法成為靜態(tài)方法。靜態(tài)方法會被更快的調用,因為它不需要一個虛擬函數(shù)導向表,該表用來告訴你如何區(qū)分方法的性質,調用這個方法不會改變對象的狀態(tài)。

3.避免不必要的instanceof操作

4.避免子類存在父類轉換

5.多使用局部變量

調用方法時傳遞的參數(shù)以及在調用中創(chuàng)建的臨時變量都被保存在棧里面,因此讀寫速度較快。其他變量,如靜態(tài)變量、實例變量,都在堆中被創(chuàng)建,也被保留在堆中,讀取速度相對較慢。

局部變量訪問速度遠遠高于類的成員變量。

6.使用位運算##

例:

  a*=2;
  //使用位運算
  a<<1;

7.一維數(shù)組與二維數(shù)組

一維數(shù)組和二維數(shù)組的訪問速度不一樣,二維數(shù)組的訪問速度比一維數(shù)組快,但是二維數(shù)組需要占用更多的內存空間。

8.用布爾運算代替位運算

boolean a=false;
boolean b=false;
if(a&&b){
//當使用a&&b時,a已經(jīng)為false,所以不會再計算剩余表達式
}

if(a&b){
//當使用a&b時,位運算總會計算所有表達式再給出最終結果
}

9.提取表達式優(yōu)化##

  b1=a1*a2*a4/3*4*a3*a4;
  b2=a1*a2*a3/3*4*a3*a4;
  //優(yōu)化
  
  combine=a1*a2/3*4*a3*a4;
  b1=combine*a4;
  b2=combine*a3;

10.盡量不要使用取反操作符(?。?#

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,641評論 18 399
  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,702評論 4 12
  • 一:java概述:1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)工...
    ZaneInTheSun閱讀 2,806評論 0 11
  • 我們家姐妹四人,只有我離開了家鄉(xiāng),去了一個完全陌生的城市生活??梢娪械娜俗⒍ㄓ兄h走他鄉(xiāng)的宿命。 自我到北京生活,...
    王家淇閱讀 776評論 0 6
  • 燕北的紅川城佇立在廣闊的大漠之上,火紅的落日在地平線上緩緩降落,遠方有一群人騎著戰(zhàn)馬,迎著狂風,奔騰而來。 領頭的...
    醒目劇場閱讀 4,090評論 33 51

友情鏈接更多精彩內容