Java進階最佳化技術

來源:互聯網
上載者:User

 

常用的:

1.最佳化迴圈。通過重新組織重複的子運算式來提高迴圈體的運行效能。

2減少使用對象的數量來提高運行效能。

3.縮減網路傳輸資料來縮短等待時間。

 

其他:

1.採用對象池技術,提高對象的利用效率。

效能的損耗主要源於建立和釋放對象,因此要避免對象的建立和釋放。採用對象池技術,預先定義一個對象池,預先建立一組待使用的對象:

Enemy[5] enemy=new Enemy[5];

for(int i=0;i<5;i++){

        enemy[i]=new Enemy();

}

增加標誌如used和reset標識Enemy的狀態。需要建立對象時從對象池中擷取 一個未被使用的對象並用reset方法初始化;需要釋放時只需修改標誌位以供下次使用即可。詳細請參加—Java對象池技術:http://www.cnblogs.com/devinzhang/archive/2012/01/05/2313406.html

 

2.儘可能使用基礎資料型別 (Elementary Data Type)代替對象

   例如用二維數組代替一個寫簡單的對象。

 

3.最佳化演算法

   比如對於默寫不要求很精細的情境和演算法,用簡單的演算法類比。

 

4.其他最佳化

   a.如提取字串時,試著返回子串而不是建立一個副本。

   b.盡量的少建立短期的臨時對象。

   c.能用庫函數的就不要自己建立(庫函數是最佳化好的)

   d.Map map=new HashMap();

         HashMap map=new HashMap();  //這個效能更高,重構代碼

   e.增強型for迴圈和Iterable使用時,多了一個對象的建立,慎用。

   f.避免enum類型。

   g.嵌入式開發時注意浮點的運用,盡量不用。(處理器是否支援浮點)

   h.圖片資源壓縮、多張圖片集中到一張圖片上(比單獨的和小很多,省去了每張的標頭檔、結束檔案等資料區塊,合并了調色盤)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.